Hallo Leute,
ich arbeite gerade an meiner Seminararbeit. Dabei programmiere ich ein Fenster mit Benutzeroberläche und einer Simulation. In dieser Simulation wird ein Seil dargestellt. Zur Benutzeroberfläche gehören JButtons und JSlider.
Wenn ich den JSlider bewege wird eine die BranchGroup "seilbg" mit ".detach()" abgehäng und alle Inhalte danach wieder hinzugefügt. Leider ruckelt die Simulation nach mehreren Veränderungen am JSlider und es gibt irgendwann eine Felermeldung.
Hier der Quelltext zum zugehörigen JSlider:
Und die Fehlermeldung:
Wäre super, wenn ihr mir Helfen könntet
ich arbeite gerade an meiner Seminararbeit. Dabei programmiere ich ein Fenster mit Benutzeroberläche und einer Simulation. In dieser Simulation wird ein Seil dargestellt. Zur Benutzeroberfläche gehören JButtons und JSlider.
Wenn ich den JSlider bewege wird eine die BranchGroup "seilbg" mit ".detach()" abgehäng und alle Inhalte danach wieder hinzugefügt. Leider ruckelt die Simulation nach mehreren Veränderungen am JSlider und es gibt irgendwann eine Felermeldung.
Hier der Quelltext zum zugehörigen JSlider:
Java:
kugelanzahlRegler.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
//unwichtig was hier eigtl. steht
seilbg.detach();
seilbg = new BranchGroup();
seilbg.setCapability(BranchGroup.ALLOW_DETACH);
final TransformGroup seil = new TransformGroup();
SeilteileAusgabe.SliderAction(getkugelAnzahl(), getbodentyp(), getseiltyp(), branch, seil);
seilbg.addChild(seil);
branch.addChild(seilbg);
}
});
Und die Fehlermeldung:
Java:
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
at javax.media.j3d.IndexedGeometryArrayRetained.createIndexedGeometryArrayData(IndexedGeometryArrayRetained.java:65)
at javax.media.j3d.IndexedGeometryArray.<init>(IndexedGeometryArray.java:154)
at javax.media.j3d.IndexedTriangleArray.<init>(IndexedTriangleArray.java:53)
at Basisklassen.FunktionsflaecheFarbe.F(FunktionsflaecheFarbe.java:44)
at Weit.SeilteileAusgabe.BodenErstellen(SeilteileAusgabe.java:287)
at Weit.SeilteileAusgabe.SliderAction(SeilteileAusgabe.java:171)
at Weit.GUI11$2.stateChanged(GUI11.java:190)
at javax.swing.JSlider.fireStateChanged(Unknown Source)
at javax.swing.JSlider$ModelListener.stateChanged(Unknown Source)
at javax.swing.DefaultBoundedRangeModel.fireStateChanged(Unknown Source)
at javax.swing.DefaultBoundedRangeModel.setRangeProperties(Unknown Source)
at javax.swing.DefaultBoundedRangeModel.setValue(Unknown Source)
at javax.swing.JSlider.setValue(Unknown Source)
at javax.swing.plaf.basic.BasicSliderUI.scrollByUnit(Unknown Source)
at javax.swing.plaf.basic.BasicSliderUI$Actions.scroll(Unknown Source)
at javax.swing.plaf.basic.BasicSliderUI$Actions.actionPerformed(Unknown Source)
at javax.swing.SwingUtilities.notifyAction(Unknown Source)
at javax.swing.JComponent.processKeyBinding(Unknown Source)
at javax.swing.JComponent.processKeyBindings(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
Wäre super, wenn ihr mir Helfen könntet