this.b = b;\r
}\r
\r
+ boolean ready = false;\r
Simulation s;\r
Motor m;\r
Burn b;\r
Entry e = entries.get(row);\r
if (e == null)\r
return "???";\r
+ if (e.ready == false)\r
+ return "...";\r
switch (col) {\r
case 0:\r
return e.m.getName();\r
Entry entry = entries.get(table.getSelectedRow());\r
SimulationPlotDialog.showPlot(SwingUtilities\r
.getWindowAncestor(RocketSimTable.this), entry.s,\r
- PlotConfiguration.DEFAULT_CONFIGURATIONS[0].resetUnits());\r
+ PlotConfiguration.DEFAULT_CONFIGURATIONS[0]\r
+ .resetUnits());\r
}\r
}\r
});\r
}\r
\r
private Entry toEntry(Burn b) {\r
- Entry e = new Entry(b.getMotor(), doc.getSimulation(0).copy(), b);\r
+ final Entry e = new Entry(b.getMotor(), doc.getSimulation(0).copy(), b);\r
OneMotorDatabase.setBurn(b);\r
\r
e.s.getConfiguration().getMotorConfigurationID();\r
}\r
}\r
\r
- try {\r
- e.s.simulate();\r
- } catch (SimulationException e1) {\r
- e1.printStackTrace();\r
- }\r
+ tm.fireTableDataChanged();\r
+ new Thread() {\r
+ @Override\r
+ public void run() {\r
+ try {\r
+ e.s.simulate();\r
+ e.ready = true;\r
+ tm.fireTableDataChanged();\r
+ } catch (SimulationException e1) {\r
+ e1.printStackTrace();\r
+ }\r
+\r
+ }\r
+ }.start();\r
\r
return e;\r
}\r
@Override\r
public void preferredUnitsChanged() {\r
tm.fireTableDataChanged();\r
- if (UnitPreference.getUnitPreference() == UnitPreference.NONSI){\r
+ if (UnitPreference.getUnitPreference() == UnitPreference.NONSI) {\r
System.err.println("NONSI");\r
UnitGroup.setDefaultImperialUnits();\r
} else {\r