ChangeListener verhält sich komisch

Joob

Top Contributor
Komischer Effekt, manchmal läuft es, dann wiederum nicht.
Der Fehler tritt auf auch wenn im Changelistener kein Code ausgeführt wird.

Dann habe ich die Exception mal angeschaut, da scheint es sich um ein Mausevent zu drehen, allerdings kenne ich mich nicht gut genug aus um die genaue Ursache zu verstehen. Vielleicht kann mir jemand von euch auf die Sprünge helfen. Wie Ihr seht hat die Exception nur was mit Java Code zu tun und eventuell nur bedingt mit dem was ich programmiert habe.

Also mir geht es darum zu verstehen was die Exception mir sagen will .


folgender Change Listener

Code:
        tableview.getSelectionModel().selectedItemProperty().addListener((ObservableValue<? extends WordsWordsTVC> obs, WordsWordsTVC oldSelection, WordsWordsTVC newSelection) -> {
}



Code:
Exception in thread "JavaFX Application Thread" java.lang.IndexOutOfBoundsException
    at com.sun.javafx.scene.control.ReadOnlyUnbackedObservableList.subList(ReadOnlyUnbackedObservableList.java:136)
    at javafx.collections.ListChangeListener$Change.getAddedSubList(ListChangeListener.java:242)
    at javafx.scene.control.TableView$TableViewArrayListSelectionModel.handleSelectedCellsListChangeEvent(TableView.java:3004)
    at javafx.scene.control.TableView$TableViewArrayListSelectionModel.clearAndSelect(TableView.java:2423)
    at javafx.scene.control.TableView$TableViewSelectionModel.clearAndSelect(TableView.java:1914)
    at com.sun.javafx.scene.control.behavior.TableCellBehaviorBase.simpleSelect(TableCellBehaviorBase.java:215)
    at com.sun.javafx.scene.control.behavior.TableCellBehaviorBase.doSelect(TableCellBehaviorBase.java:148)
    at com.sun.javafx.scene.control.behavior.CellBehaviorBase.mousePressed(CellBehaviorBase.java:150)
    at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:95)
    at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
    at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.event.Event.fireEvent(Event.java:198)
    at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
    at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
    at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
    at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:352)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:275)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$355(GlassViewEventHandler.java:388)
    at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:387)
    at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
    at com.sun.glass.ui.View.notifyMouse(View.java:937)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$null$149(WinApplication.java:191)
    at java.lang.Thread.run(Thread.java:745)
 

Robat

Top Contributor
Wie Ihr seht hat die Exception nur was mit Java Code zu tun und eventuell nur bedingt mit dem was ich programmiert habe
Ist dein Code etwa kein Java Code? ;) SCNR :D

Erzähl mal mehr zu deiner TableView. Der Fehler wird immer mal geworfen, wenn man versucht eine ObservableList zu verändern, während sie gerade verändert/benutzt wird.
 

Joob

Top Contributor
Ich poste den Code gerne, ist aber ein bisschen unübersichtlich.

Also ich schreibe erst mal.

Das Tableview enthält Vokabeln, dabei gibt es einige Vokabeln die nicht verändert werden dürfen. Da man diese aber als ganzes Löschen können muss wird diese Möglichkeit durch ein Dialogfeld abgefragt.

Beim ersten mal läuft auch alles, und zwar unabhängig von dem Umstand ob gelöscht wird oder nicht. Sobald ich aber die Zeile noch einmal aufrufe, wird der Changelistener ein zweites Mal aufgerufen und zwar ohne für mich erkennbaren Grund.

Ich poste mal den Code im Listener, hoffentlich nicht zu unübersichtlich. Es gibt verschiedene Prüfungen, eimal Sperrungen, dann ob die Vokabel momentan in einem anderen Zusammenhang verwendet wird und zusätzlich ob die Vokabel den Status readonly hat. Zudem wird geprüft ob die Zeile verändert wurde und ggf. nach dem Wechsel gespeichert.

Code:
        tableview.getSelectionModel().selectedItemProperty().addListener((ObservableValue<? extends WordsWordsTVC> obs, WordsWordsTVC oldSelection, WordsWordsTVC newSelection) -> {
           
            // es wurde eine neue Zeile ausgewählt
            if ((newSelection != null)) { 
               
                String[]    lockInfo        = null;
                String      messuccess      = "";
                String      newID           = newSelection.getId();
                String      useState        = newSelection.getUsestate();
                String      baselanguage    = newSelection.getBaseLanguage();    
                   
                   
                try {

                    // geht in die Zeile und sperrt, wenn nicht gesperrt ist
                    DataLockClass dlc = new DataLockClass();

                    // wenn newID gleich 0 dann wird neuer Datensatz geschrieben
                    if (!newID.equals("0")) {
                        changePossible = dlc.lockDS(newID, "vokabeln", "0");
                    }

                    // Datensatz ist gesperrt
                    if (!changePossible.substring(0, 1).equals("0")) {

                        tableview.setEditable(false);
                        lockInfo = changePossible.substring(2).split(",");

                        Alert alert = new Alert(Alert.AlertType.INFORMATION);
                        alert.setTitle("Information Dialog");
                        alert.setHeaderText("Change not possible");
                        alert.setContentText("Data locked from user " + lockInfo[1].trim() + " till " + lockInfo[0]);
                        DialogPane dialogPane = alert.getDialogPane();
                        dialogPane.getStylesheets().add(getClass().getResource("/CSS/DialogBase.css").toExternalForm());
                        dialogPane.getStyleClass().add("Dialog");
                        alert.show();
                        // ACHTUNG : bei [alert.showandwait] kommt es zu eine Exception
                        // wenn das Dialogfeld innerhalb des Selectionmodells verwendet wird warum weiß ich nicht

                       
                    // READONLY - handelt es sich um eine readonly Vokabel darf diese nicht verändert werden
                    } else if (useState.equals("1")) {

                        tableview.setEditable(false);

                        Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
                        alert.setTitle("Information Dialog");
                        alert.setHeaderText("Change not possible");
                        alert.setContentText("The vocabulary: " + newID + " - " + baselanguage + " comes from an imported read only Block, it is not allowed to change it " + "\n\n"
                                + "But you have the possibility to delete the vocabulary " + "\n\n"
                                + "Do you want to delete the vocabulary?");

                        ButtonType yes = new ButtonType("Yes");
                        ButtonType no = new ButtonType("No");

                        // Remove default ButtonTypes
                        alert.getButtonTypes().clear();

                        alert.getButtonTypes().addAll(yes, no);
                        DialogPane dialogPane = alert.getDialogPane();
                        dialogPane.getStylesheets().add(getClass().getResource("/CSS/DialogBase.css").toExternalForm());
                        dialogPane.getStyleClass().add("Dialog");

                        // option != null.
                        Optional<ButtonType> option = alert.showAndWait();

                        if (option.get() == null) {
                        } else if (option.get() == yes) {

                            messuccess = newSelection.delObj();
                            if (!(messuccess.substring(2, 3).equals("-"))) {
                                filltv();
                            }

                        } else if (option.get() == no) {
                        } else {
                        }

                        // ACHTUNG : bei [alert.showandwait] kommt es zu eine Exception
                        // wenn das Dialogfeld innerhalb des Selectionmodells verwendet wird warum weiß ich nicht

                    } else {
                        tableview.setEditable(true);
                        goinTVO = newSelection;
                    }

                    // oldSelection ist das Objekt welches in der Zeile gespeichert war die verlassen wurde
                    // bevor diese Zeile ausgewählt wurde
                    // wenn oldSelection = null dann hat man gerade in die Tabelle geklickt
                    if (oldSelection != null) {                            
                        // Daten waren leer, also wurde neu gedrückt aber nichts eingegeben
                        // d.h. es wird das neue Objekt in der ObservableList wieder gelöscht
                        // size() - 1, weil Index 0 basiert ist
                        if (oldSelection.getBaseLanguage().equals("")
                                || oldSelection.getWord().equals("")) {
                            ctvMainOLst.remove(ctvMainOLst.size()-1);

                        } else {
                             // mustSafeLanguage wird beim editieren der Zelle gesetzt
                            if (mustSafe == true) {
                                messuccess = oldSelection.saveObj(languageid, username, baseLanguageByGoin, wordByGoin);

                                // Doppelter Eintrag
                                if (messuccess.split(";")[1].equals("-1")) {

                                    Alert alert = new Alert(Alert.AlertType.INFORMATION);
                                    alert.setTitle("Information Dialog");
                                    alert.setHeaderText("Store or Update impossible !");
                                    alert.setContentText("Word couldn't safe, because the word is allready in list.");
                                    DialogPane dialogPane = alert.getDialogPane();
                                    dialogPane.getStylesheets().add(getClass().getResource("/CSS/DialogBase.css").toExternalForm());
                                    dialogPane.getStyleClass().add("Dialog");
                                    alert.show();  
                                    // ACHTUNG : bei [alert.showandwait] kommt es zu eine Exception
                                    // wenn das Dialogfeld innerhalb des Selectionmodells verwendet wird warum weiß ich nicht

                                    // es darf nur bei Insert removed werden
                                    if( messuccess.substring(0, 1).equalsIgnoreCase("I")) {
                                        ctvMainOLst.remove(ctvMainOLst.size()-1);

                                        // wenn bei Update ein Wert eingtragen wird der schon vorhanden ist   
                                    } else if ( messuccess.substring(0, 1).equalsIgnoreCase("U")) {
                                        // alter Wert muss eingesetzt werden
                                        if (!wordByGoin.equals("")) {
                                            oldSelection.setWord(wordByGoin);
                                        }

                                        if (!baseLanguageByGoin.equals("")) {
                                            oldSelection.setBaseLanguage(baseLanguageByGoin);
                                        }

                                        tableview.refresh();

                                        wordByGoin = "";
                                        baseLanguageByGoin = "";
                                    }

                                } else {
                                    // Neuer Datensatz dazugekommen also + 1
                                    if ( messuccess.substring(0, 1).equalsIgnoreCase("I")) {
                                        anzds = anzds + 1;
                                        insertcorrection = 1;
                                    }
                                }
                                mustSafe = false;                           
                            }
                        }
                        dlc.unlockDS(oldSelection.getId(), "vokabeln", "0","TAB_TABID_USERID");
                    }

                } catch (InstantiationException | IllegalAccessException | ClassNotFoundException | SQLException | IOException | JSONException ex) {
                    Logger.getLogger(WordsController.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        });        
    }
 

Robat

Top Contributor
Beim ersten mal läuft auch alles, und zwar unabhängig von dem Umstand ob gelöscht wird oder nicht. Sobald ich aber die Zeile noch einmal aufrufe, wird der Changelistener ein zweites Mal aufgerufen und zwar ohne für mich erkennbaren Grund.
Kannst du das noch mal versuchen genauer zu beschreiben? "Beim ersten mal" -> meinst du damit wenn du eine Zeile das erste mal anklickst? "Sobald ich die Zeile noch einmal aufrufe" -> wechselst du zwischendrin die Zeile?
 

Joob

Top Contributor
Ich versuche es:
Wenn ich das erste mal auf eine Zeile klicke, die ein Readonly enthält werden die Meldungen korrekt angezeigt und es kommt zu keiner Exception. Danach ist die erste Zeile des Tableview gewählt.

Klicke ich dann noch einmal auf eine Zeile mit readonly, erscheinen die Meldungen einmal, und dann nocheinmal und dann kommt es zu der geposteten Exception.

Ich hatte schon in Erwägung gezogen den Focus am Ende des Listeners auf das AnchorPane zu setzten um immer wieder einen definierten Startpunkt zu haben, das ist mir aber nicht gelungen. Der Controller beinhaltet auch nur das AnchorPane und das Tableview und wenn das Tableview ausgewählt wird, wird immer auch eine Zeile gewählt, was zur Auslösung des Listeners führt.
 

Joob

Top Contributor
Ich habe immer mehr das Gefühl das die Exception in dem von mir gesehenen Problem mit dem showandwait liegt.
Leider kann ich das wohl jetzt nicht mehr umgehen, da ich ja auf die Antwort des Benutzers warten muss.
 

Joob

Top Contributor
meinst du das ich das Problem umgehen kann, wenn ich die ganze Alertbox mit der Abfrage in einem andern Thread ablaufen lasse?
 

Joob

Top Contributor
Ich habe eine Lösung, die Exception kommt nicht wenn ich alertbox mit der Abfrage in einen Service packe.

Aber den Grund für dieses Verhalten habe ich immer noch nicht kapiert. Also es hängt definitiv am ShowandWait im Listener, aber was führt hier dann zu dem Problem und was genau ist das Problem auf das die Exception hinweist.

Kannst Du mir das erklären ?
 

Joob

Top Contributor
Ich habe jetzt mal so wie du vorgeschlagen nur PlatformRunLater verwendet. Das reicht um die Exception auszuschließen.

Aber vielleicht könntest du mir mal erklären was genau da abgeht und warum die Exception ausgelöst wird wenn ich showAndWait verwende.
 

Robat

Top Contributor
MWn wird die Exception gerne geworfen, wenn man versucht die Daten (zb eine ObservableList) zu verändern, während die gerade bearbeitet wird.
Wenn ich das richtig überflogen habe macht genau das dein Dialog ja, oder?
 

Joob

Top Contributor
Eigentlich nicht, da die Exception auch geworfen wird wenn ich bei Delete no anklick und auch filltv führe ich ja nur aus wenn ein Delete erfolgreich gemacht wurde.

Auch die anderen Dialoge würden eine Exception erzeugen wenn ich ShowandWait angebe.
 

dzim

Top Contributor
Puh. Ich war ein paar Tage krankheitsbedingt abwesend. Ich schau mal den Thread an. ;)
Aber keine Garantie, denn manchmal sieht man auch als "alter Hase" den Wald vor Bäumen nicht... :p
 

dzim

Top Contributor
showAndWait blockiert den Thread - schlecht. Denn in der Zeit wird auch dein Listener blockiert. Daher bringt auch die Lösung Platform.runLater eine marginale Verbesserung.

Ohne den kompletten Code (an dem man selbst herumschrauben kann) zu haben, ist es etwas schwer und dein Code ist recht kompliziert. :p

Ich vermute aber, das konkrete Problem entsteht durch folgende Code-Zeilen
Java:
ctvMainOLst.remove(ctvMainOLst.size()-1);
Du könntest daher ja mal einen Breakpoint an den dazugehörigen if-Block machen und dann Schritt für Schritt durchsteppen und schauen, wo die Exception auftritt.

Auch finde ich dein tableView.setEditable() etwas befremdlich (zumal man auch editable auf Zeilen oder Zellen setzen kann, wenn ich mich recht entsinne) - man könnte alternativ auch den disabled-Zustand für so etwas verwenden.

#edit: Sorry, aber mehr sehe ich "auf die Schnelle" auch nicht... :confused:

#edit2: Was ich häufig statt ctvMainOLst.remove(ctvMainOLst.size()-1); mache: Ich sammele die zu löschenden Elemente in einer Liste und und lösche nicht anhand eines Indexes, sondern der Referenz(en) yourList.removeAll(toRemoveList) - bei dir reicht natürlich nur das eine Element, eine separate Liste wäre Quatsch.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
B JavaFX CheckBox mit ChangeListener AWT, Swing, JavaFX & SWT 1
r4w Changelistener auf mehrere Textfelder AWT, Swing, JavaFX & SWT 5
N ChangeListener und jCheckBox AWT, Swing, JavaFX & SWT 3
E jSlider und ChangeListener AWT, Swing, JavaFX & SWT 2
T JSlider: ChangeListener löst dreimal aus? AWT, Swing, JavaFX & SWT 4
G JSpinner und ChangeListener AWT, Swing, JavaFX & SWT 3
G JTabbedPane, Focus, ChangeListener AWT, Swing, JavaFX & SWT 1
S ActionListener und ChangeListener behindern sich ? AWT, Swing, JavaFX & SWT 5
H ChangeListener für JSlider AWT, Swing, JavaFX & SWT 6
S JComboBox - ChangeListener AWT, Swing, JavaFX & SWT 5
B JavaFX setOnMousePressed() - verhält sich wie setOnMouseClicked()? AWT, Swing, JavaFX & SWT 6
G 2D-Slider bzw. eine graphische Auswahlkomponente die sich so verhält AWT, Swing, JavaFX & SWT 6
P JApplet verhält sich im Browser anders als im Eclipse (AppletViewer) AWT, Swing, JavaFX & SWT 3
M Swing + Java2D Sichtfeld bewegen verhält sich träge AWT, Swing, JavaFX & SWT 4
P JList verhält sich anders als sie soll -.- AWT, Swing, JavaFX & SWT 2
T Swing JTextArea verhält sich komisch... AWT, Swing, JavaFX & SWT 8
T Swing Substance LookAndFeel verhält sich merkwürdig AWT, Swing, JavaFX & SWT 4
J JScrollpane verhält sich sprunghaft bei Grössenänderungen AWT, Swing, JavaFX & SWT 6
Juelin Javafx hängt sich auf AWT, Swing, JavaFX & SWT 31
I JavaFX Programmcode pausieren gestaltet sich als schwierig AWT, Swing, JavaFX & SWT 7
N Dropshadow setzen bei einer Gruppe von Tiles, die sich jeweils in einer Stackpane befinden, welche in einer Gridpane angeordnet sind. AWT, Swing, JavaFX & SWT 0
berserkerdq2 Skalieren sich javafx objekte automatisch auf die Bildschirmgröße AWT, Swing, JavaFX & SWT 6
B JavaFX Prüfen ob ein Objekt sich mehrmals in einer Liste befindet AWT, Swing, JavaFX & SWT 5
K Textarea aktuallisiert sich nicht, nach Auswahl (Itemlistener) AWT, Swing, JavaFX & SWT 3
S e(fx)clipse erscheint nicht im Marketplace, lässt sich nicht installieren AWT, Swing, JavaFX & SWT 16
A TableView updatet sich nicht AWT, Swing, JavaFX & SWT 3
M Wieso verändert sich die Framerate nach erneutem Starten des AnimationTimer? AWT, Swing, JavaFX & SWT 18
I AWT java.awt.FileDialog - "coffee cup"-Icon lässt sich nicht ersetzen AWT, Swing, JavaFX & SWT 14
J JOptionPane ruft sich selbst immer wieder neu auf AWT, Swing, JavaFX & SWT 3
P Swing Programm hängt sich bei Buttondruck auf? (GUI für "Chatbot" erstellen) AWT, Swing, JavaFX & SWT 15
T Swing JTable cellRenderer mit jpg Hintergrundfarbe lässt sich nicht ändern. AWT, Swing, JavaFX & SWT 1
R JOptionPane schließt sich nicht wieder AWT, Swing, JavaFX & SWT 2
R Textfield lässt sich nicht positionieren AWT, Swing, JavaFX & SWT 1
E Keystroke für Ausschneiden läßt sich nicht ändern AWT, Swing, JavaFX & SWT 2
B Dynamische ListView-Größe, die bei Fenstergrößenänderung sich anpasst AWT, Swing, JavaFX & SWT 19
sascha-sphw JavaFX ListCell höhe verändert sich beim ändern der Text-Farbe AWT, Swing, JavaFX & SWT 14
R Swing Komponente im JFrame überschreinen sich AWT, Swing, JavaFX & SWT 7
A Swing Datei lässt sich zwar speichern, aber nicht laden (Inhalt im JTextField anzeigen) AWT, Swing, JavaFX & SWT 18
O showConfirmDialog öffnet sich nicht AWT, Swing, JavaFX & SWT 3
K JavaFX Fenstergröße ändert sich (Gluon - SceneBuilder) AWT, Swing, JavaFX & SWT 23
S JavaFX Scene öffnet sich nicht AWT, Swing, JavaFX & SWT 3
C Bilder so einbinden, dass sie sich ändern AWT, Swing, JavaFX & SWT 6
ralfb1105 JavaFX Label lässt sich innerhalb service Task nicht updaten? AWT, Swing, JavaFX & SWT 22
S Ausgabe aktualisiert sich nur nach 2. Klick AWT, Swing, JavaFX & SWT 17
Legi Swing JButton Icon verschiebt sich AWT, Swing, JavaFX & SWT 2
P Gui lässt sich nicht starten AWT, Swing, JavaFX & SWT 10
R JavaFX lässt sich nicht in Eclipse einbinden AWT, Swing, JavaFX & SWT 4
J BackgroundJPanel passt sich dem JFrame nicht an AWT, Swing, JavaFX & SWT 7
J Button lässt sich nicht auf dem JPanel verschieben AWT, Swing, JavaFX & SWT 5
M 2D-Grafik Spielfigur bewegt sich nicht AWT, Swing, JavaFX & SWT 6
W Javafx - Image soll sich mit der Camera mitbewegen AWT, Swing, JavaFX & SWT 1
T .jar-Datei lässt sich unflexibler ausführen als über die IDE AWT, Swing, JavaFX & SWT 11
K JavFX: VBox.setVGrow stell sich quer AWT, Swing, JavaFX & SWT 2
T Timer und GIF Animationen pausieren während Maus sich bewegt AWT, Swing, JavaFX & SWT 4
S Swing Bedienelemente ordnen sich automatisch neu an AWT, Swing, JavaFX & SWT 2
B Hauptfenster öffnet sich mehrmals AWT, Swing, JavaFX & SWT 9
K Mit JavaFX angefangen. Lohnt sich Swing? AWT, Swing, JavaFX & SWT 28
E Java FX ProgressIndicator dreht sich nicht AWT, Swing, JavaFX & SWT 8
P Swing JFrame minimiert sich bei Doppelklick auf die Titel-Leiste AWT, Swing, JavaFX & SWT 16
krgewb AWT JFrame soll sich wie Dialog verhalten AWT, Swing, JavaFX & SWT 9
D JavaFX Label lässt sich nicht mehrmals färben AWT, Swing, JavaFX & SWT 7
Prafy Sich ändernde Farbverläufe erstellen AWT, Swing, JavaFX & SWT 4
D JavaFX Anwendung hängt sich permanent auf AWT, Swing, JavaFX & SWT 6
T JButton überlagern sich und werden erst beim Mausscrollen sichtbar AWT, Swing, JavaFX & SWT 2
T Swing Programm hängt sich auf! AWT, Swing, JavaFX & SWT 23
C LayoutManager Bei verkleinern des Fensters, verschieben sich JPanels übereinander. AWT, Swing, JavaFX & SWT 7
J Button vergrößert sich bei Fenster resize AWT, Swing, JavaFX & SWT 22
J Lohnt sich FX? AWT, Swing, JavaFX & SWT 2
Tort-E JavaFX ProgressIndicator dreht sich nicht AWT, Swing, JavaFX & SWT 2
S JavaFX Image Skalierung in Scrollpane, Scrollpane resized sich nicht AWT, Swing, JavaFX & SWT 5
N Programm mit Swing und Thread, Figur bewegen sich nicht AWT, Swing, JavaFX & SWT 6
Tom299 JavaFX Default-Cursor läßt sich nicht immer "aktivieren" AWT, Swing, JavaFX & SWT 3
B Frame hängt sich auf trotz invokeLater AWT, Swing, JavaFX & SWT 1
D Java Swing, Label lässt sich nicht mit Checkboxen/Knopf verändern AWT, Swing, JavaFX & SWT 2
J Server stellt sich hin AWT, Swing, JavaFX & SWT 13
R Swing Elemente verschieben sich im GBL beim Ein/Ausblenden AWT, Swing, JavaFX & SWT 0
L JButton flackern - Programm hängt sich auf AWT, Swing, JavaFX & SWT 3
H JTree in JScrollPane passt sich nicht an Größe von JPanel an AWT, Swing, JavaFX & SWT 2
J Programm hängt sich bei Log In auf AWT, Swing, JavaFX & SWT 1
M JFreeChart neu zeichnen sich Wenn Jtable sich ändert AWT, Swing, JavaFX & SWT 5
ToBJo JavaFX TreeView zerstört sich selbst AWT, Swing, JavaFX & SWT 1
T Swing Button bleibt grau [=> UI hat sich aufgehängt, Aufgabe in Thread auslagern] AWT, Swing, JavaFX & SWT 3
B JavaFX Problem bei Kamera / Group, gesamte Scene bewegt sich mit AWT, Swing, JavaFX & SWT 0
M JXTreeTable: Spaltengröße läßt sich nicht mehr festlegen AWT, Swing, JavaFX & SWT 0
I JPanel in JScrollPane verkleinert sich leider nicht .... AWT, Swing, JavaFX & SWT 2
G Komponenten vergrößern sich nicht trotz Layoutmanager AWT, Swing, JavaFX & SWT 24
W JTextfield - Wert lässt sich nicht setzen AWT, Swing, JavaFX & SWT 3
H 2D-Grafik BufferStrategy zieht spur hinter sich her AWT, Swing, JavaFX & SWT 3
T SWT SWTBot Test: Dialog soll sich öffnen,wenn button gedrückt AWT, Swing, JavaFX & SWT 3
kaoZ Swing JFrame lässt sich nicht über dispose() abbauen AWT, Swing, JavaFX & SWT 0
D 2D-Grafik Rechteck befindet sich unter dem Rahmen des JFrame. AWT, Swing, JavaFX & SWT 1
A Swing per JComboBox gewünschtes Attribut auswählen und Komponenten passen sich an AWT, Swing, JavaFX & SWT 7
B Swing focusGained öffnet sich zwei mal AWT, Swing, JavaFX & SWT 3
S JScrollPane --> Programm hängt sich beim scrollen auf AWT, Swing, JavaFX & SWT 2
A Panel lässt sich nicht bewegen AWT, Swing, JavaFX & SWT 2
U ToolTip Größenänderung, passt sich erst beim zweiten Mal an AWT, Swing, JavaFX & SWT 6
H Java3D, ViewP Translattform soll sich nach einerformgroup richten. AWT, Swing, JavaFX & SWT 5
R JPanel-Größe verändert sich nicht. Warum? AWT, Swing, JavaFX & SWT 5
R Swing getContentPane maximiert sich nicht mit, wenn man das JFrame maxmiert AWT, Swing, JavaFX & SWT 8
A 2D-Grafik Zeichnen einer sich bewegenden Box mit BufferStrategy zieht Spur AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben