ActionListener führt falsche Funktion aus

Elmishelmi

Mitglied
Hi,

ich bin neu in der Java Programmierung und habe ein Problem. In der Sufu habe ich leider nichts passendes gefunden.

Ich möchte durch einen Button eine Funktion ausführen in einer anderen Klasse.

Die Funktion copy(). Diese wird auch aufgerufen, doch es wird nicht richtige valueChanged Listener ausgeführt. Der wird in der Methode path() ausgeführt. Ich habe nun ein Problem, wie ich kann ich einen Entscheidungsfall treffen, indem der Anweisungsblock des valueChanged Listeners in der copy() Funktion ausgeführt wird?

Hier ein Code Ausschnitt.

Java:
public class XMLEditor {

    private JFrame frame;
    private JMenuBar menuBar = new JMenuBar();
    private JMenu mnMen = new JMenu("Men\u00FC");
    private JMenuItem mntmLaden = new JMenuItem("Laden");

   
   
    private DefaultMutableTreeNode root = new DefaultMutableTreeNode();
    private DefaultTreeModel treeModel = new DefaultTreeModel(root);
    private JTree tree1 = new JTree(treeModel);
    @SuppressWarnings("unused")
    private TreeCellEditor editor;
    private JPanel panel1;
    private CardLayout cl;
    private cardEmpty cEmpty;
   
    private card4 c4;
   
   
    // Starten der Applikation
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    XMLEditor window = new XMLEditor();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    // Erstellen der Applikation
    public XMLEditor() {
        initialize();
    }

    // Initialisieren des Frameinhalts
    private void initialize() {

        // Frame erstellen
        frame = new JFrame();
        frame.setSize(706, 645);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel panel = new JPanel();
        frame.getContentPane().add(panel, BorderLayout.CENTER);

        // Frame in zwei Hälften teilen, mittels linkem und rechtem Pane
        JSplitPane splitPane = new JSplitPane();
        GroupLayout gl_panel = new GroupLayout(panel);
        gl_panel.setHorizontalGroup(gl_panel.createParallelGroup(Alignment.TRAILING).addComponent(splitPane,
                Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 606, Short.MAX_VALUE));
        gl_panel.setVerticalGroup(gl_panel.createParallelGroup(Alignment.LEADING).addComponent(splitPane,
                GroupLayout.DEFAULT_SIZE, 389, Short.MAX_VALUE));
        JScrollPane scrollPane = new JScrollPane();
        splitPane.setLeftComponent(scrollPane);
       
        JScrollPane scrollPane_1 = new JScrollPane();
        splitPane.setRightComponent(scrollPane_1);
       
        panel.setLayout(gl_panel);
       
        splitPane.setDividerLocation(0.35);
        splitPane.setResizeWeight(0.35);
        // Menübar erstellen mit Unterverzeichnissen und Buttons
        frame.setJMenuBar(menuBar);

        menuBar.add(mnMen);
       
        mnMen.add(mntmLaden);
   
        // ActionListener wird als anonyme Klasse eingebunden
        mntmLaden.addActionListener(new ActionListener() {

            // Beim Drücken des Menüpunktes wird actionPerformed aufgerufen
            public void actionPerformed(ActionEvent e) {

                try {

                    // Dateiauswahldialog wird erzeugt und vorgegebener Pfad
                    // gesetzt.
                    JFileChooser fc = new JFileChooser();
                    fc.setCurrentDirectory(new File("C:/Users/langec/workspace"));
                    fc.showOpenDialog(frame);

                    // Holen des Pfads der dem Filechooser übergeben wurde.
                    // Danach übergabe an die Funktion "load", um den Baum zu
                    // erstellen.
                    File path;
                    path = fc.getSelectedFile();
                    load(path);
                   
                   
                    // Des Weiteren wird der Baum an die Scrollbar gehängt.
                    scrollPane.setViewportView(tree1);
                    scrollPane_1.setViewportView(panel1);
                   
                } catch (Exception e1) {

                    e1.printStackTrace();
                    System.out.println("Fehler");

                }
            }
        });
    }
    public void load(File path) {

        // Funktion zum erstellen des Baums.
        // Der Baum wird mit jeder Datei die geladen wird neu erstellt.
        // Die Datei wird als Paremeter aus vom Objekt mntmLaden übergeben.
       
        //Der TreeListener ermöglicht durch anklicken des Baums die richtigen Karten zu öffnen.
        MyTreeModel model = new MyTreeModel();
        model.synchronizeXmlWithModel(path, root);
       
        //TreeModel übergeben, um die Möglichkeit der Editierung des Baums zu realisieren.
        //Die Veränderungen des Baums werden mit dem Befehl updateUI() ausgegeben.
        tree1.setEditable(true);
        tree1.updateUI();
       
        //Der Renderer ermöglicht das Bearbeiten der Knoten und Blätter im Baum hinsichtlich des Designs
        DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer) tree1.getCellRenderer();
        @SuppressWarnings("unused")
        TreeCellEditor editor = new LeafCellEditor(tree1, renderer);
        tree1.setCellEditor(null);
       
        //Erstellt die Karten(JPanel) der einzelnen Seiten die mit Formularen befüllt werden.
        //Nach Erstellung der Karten werden sie dem KartenLayout hinzugefügt.
        cl = new CardLayout();
        panel1 = new JPanel(cl);
        cEmpty = new cardEmpty();
        c4 = new card4();
       
        panel1.setLayout(cl);
       
        panel1.add(cEmpty, "0");
        panel1.add(c4, "4");
        panel1.updateUI();
       
        path();

    }
   
    public void copy() {
    System.out.println("a1");   
        tree1.getSelectionModel().addTreeSelectionListener(new TreeSelectionListener() {
           
            public void valueChanged(TreeSelectionEvent tse) {
            // Selektiert den aktuellen Knoten oder das aktuelle Blatt
                DefaultMutableTreeNode selNode = (DefaultMutableTreeNode) tree1.getLastSelectedPathComponent();
                System.out.println("a2");
                if (selNode.isLeaf() == true && (selNode.toString() == "ECU-Version")) {

                    // Erstellt eine Kopie des selektierten Knoten oder Blatts
                    // auf der gleichen hierarchischen Ebene wie das Original
                    Object befSelNode;
                    befSelNode = selNode.getUserObject();
                    DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode) selNode.getParent();
                    treeModel.insertNodeInto(new DefaultMutableTreeNode(befSelNode), parentNode, 0);
                    tree1.setCellEditor(null);
                   
                } else if (selNode.isLeaf() == false) {

                    // Ruft einen Fehlerdialog auf, falls ein falscher Knoten
                    // kopiert wurde
                    JDialog meinJDialog = new JDialog();
                    meinJDialog.setTitle("Fehler");
                    meinJDialog.setSize(320, 60);
                    meinJDialog.setLocationRelativeTo(frame);
                    meinJDialog.setModal(true);
                    meinJDialog.add(new JLabel("Ordner können nicht kopiert werden, nur Textdateien."));
                    meinJDialog.setVisible(true);
                    }   
           
            }
        });
    }
   
    public void path() {
       
    tree1.getSelectionModel().addTreeSelectionListener(new TreeSelectionListener() {
       
        public void valueChanged(TreeSelectionEvent e) {
        // Selektiert den aktuellen Knoten oder das aktuelle Blatt
            DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree1.getLastSelectedPathComponent();
            System.out.println("a");
            if (node == null) {

                cl.show(cEmpty, "0");

            } else if (node.isLeaf() == false && node.toString() == "ECU-Version") {
               
                cl.show(panel1, "4");
               
            }    
       
        }
    });
    }
   
}

Java:
public class card4 extends JPanel implements ActionListener{
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    JPanel p;
    JLabel lblAddECU, lblECU;
    JTextField txtECU;
    public JButton btnAddECU;
   
    @SuppressWarnings("deprecation")
    public
    card4() {
       
        p = new JPanel(new SpringLayout());
        lblECU = new JLabel("ECU-Version");
        txtECU = new JTextField();
        lblAddECU = new JLabel("ECU kopieren: ");
        btnAddECU = new JButton("Ok");
       
        btnAddECU.addActionListener(this);
        p.add(lblECU);
        p.add(txtECU);
        p.add(lblAddECU);
        p.add(btnAddECU);
           
        txtECU.hide();

        // Lay out the panel.
        SpringUtilities.makeCompactGrid(p, 2, 2, // rows, cols
                6, 6, // initX, initY
                6, 6); // xPad, yPad

        // Set up the content pane.
        p.setOpaque(true); // content panes must be opaque
        p.setBounds(-100, 10, 10, 10);
        add(p);       
       
    }

    @Override
    public void actionPerformed(ActionEvent ae) {
        XMLEditor e = new XMLEditor();
        e.copy();
       
    }
}

MFG
 

Joose

Top Contributor
Du hast hier (meiner Meinung) nach einen Denkfehler:
Deine Methoden "copy" und "path" machen nichts anderes als dem JTree Object einen SelectionListener hinzuzufügen.

Du drückst deinen Button, es wird ein XMLEditor Objekt erstellst, danach rufst du von diesem Objekt die Methode "copy" auf, das JTree Objekt bekommt einen SelectionListener hinzugefügt.
Sobald du über das Menü etwas ladest, rufst du auch die Methode "path" auf und hängst dem JTree Objekt einen weiteren Listener an.

Sobald du nun im JTree deine Auswahl änderst wird dann eben der aktuelle Listener angesprochen. Ich weiß nicht ob es möglich ist, dass das JTree Object 2 unterschiedliche Listener hat, oder der neue den alten überschreibt.
 

Elmishelmi

Mitglied
Hi, danke für die Antwort.

Ja das habe ich mir auch genauso gedacht. Ich habe leider keine Lösung für das Problem gefunden. Wie müsste ich denn vorgehen, um das Problem zu lösen? Gibt es überhaupt eine Lösung ohne ein Objekt der Klasse XMLEditor zu erstellen, so wie ich das bisher implementiert habe? Oder sollte die Logik von der View komplett getrennt werden?

Ist mein erstes Projekt und verlaufe mich noch an einigen Stellen.
 

Joose

Top Contributor
Naja wenn du die Auswahl im JTree änderst soll ja etwas passieren.

Laut "path()" Methode soll das Panel gewechselt werden, laut "copy()" Methode soll etwas kopiert werden.
Versuche doch einfach die beiden SelectionListener zu einem zusammenzufassen -> if/else
 

Harry Kane

Top Contributor
Vielleicht beschreibst du erstmal etwas ausführlicher, was dein Code genau machen soll? In der aktuellen Form ist für mich so manches unklar:

- XMLEditor hat einen JFrame, der im Konstruktor von XMLEditor ein paar Komponenten verpasst bekommt, u.a. eine JSplitPane mit je einer JScrollPane links und rechts. So weit, so gut.
- Es gibt ein Menü, über das eine Datei geladen werden kann. Der Inhalt der Datei wird in der load-Methode in eine neue Instanz von MyTreeModel geladen. Diese neue Instanz wird dem existierenden JTree tree1 aber offenbar nicht als model gesetzt. Siehst du tatsächlich neue Daten, wenn du eine neue Datei lädst?
- Es wird eine neue Instanz von LeafCellEditor erstellt, die den aktuellen TreeCellRenderer von tree1 und tree1 im Konstruktor übergeben bekommt. Was LeafCellEditor mit den übergebenen Referenzen macht, ist unklar. Der LeafCellEditor (ein TreeCellEditor) wird dann aber nicht explizit als TreeCellEditor des tree1 gesetzt, ganz im Gegenteil, der TreeCellEditor von tree1 wird danach auf jeden Fall explizit auf null gesetzt. Ich halte das für ziemlich verwirrend.
- In der load-Methode bekommt ausserdem das panel im rechten Teil der JSplitPane ein neues Layout und ein paar Komponenten verpasst. Unter anderen wird dabei eine neue Instanz der Klasse card4 erstellt. card4 enthält dabei ein JPanel und ist dabei auch selber eins als auch ein ActionListener. In seiner actionPerformed Methode erzeugt card4 dann eine neue Instanz von XMLEditor und ruft darauf die copy-Methode auf. Es sollte genügen, das panel einfach mit den neuen Daten aus dem neuen Model zu aktualisieren, anstatt es komplett neu aufzubauen.
-Ganz am Ende der load-Methode wird die path-Methode aufgerufen. Die macht aber nix anderes als dem JTree einen neuen TreeSelectionListener zu verpassen. In einem anderen Kontext wird die Methode path offenbar nicht aufgerufen.

Ich würde dir raten, das ganze nochmal von Grund auf neu zu schreiben. Hier eine ungefähre Struktur:

-Die grobe Struktur von XMLEditor kann erhalten bleiben: JSplitPane mit 2 JScrollPanes. Die linke JScrollPane enthält den JTree, die rechte JScrollPane ein JPanel mit einem CardLayout
Der JTree tree1 bekommt als TreeModel eine Instanz MyTreeModel.
-In der load-Methode aktualisierst nur das MyTreeModel und setzt es erneut als Model von tree1. Der JTree tree1 sollte sich dann neu zeichnen. tree1 selber sollte zu diesem Zeitpunkt bereits fertig konfiguriert sein, d. h. TreeCellRenderer, TreeCellEditor und ein TreeSelectionListener der bei Auswahl eines Knotens im o.g. JPanel mit CardLayout ein JPanel einblendet welches zum Knotentyp passt, sollten bereits gesetzt sein.
-Ich halte es nicht für sinnvoll, die copy Funktion an einen TreeSelectionListener zu hängen. Dann würde die copy-Funktion nämlich bei jedem Klick ausgeführt werden, und zwar auf dem gerade ausgewählten Knoten. Ich kann mir nicht vorstellen, dass das so beabsichtigt ist. Ich würde eher einen MouseListener auf dem JTree registrieren. Dann kannst du z.B. zwischen Einfach- und Doppelklick unterscheiden und auf gedrückte Zusatztasten wie Alt, Ctrl und Shift abfragen. An den Knoten auf den geklickt wurde, kommst du ran wie hier beschrieben: http://docs.oracle.com/javase/7/docs/api/index.html?javax/swing/JTable.html

Zu guter Letzt zwei Hinweise zu dieser Zeile

Java:
selNode.isLeaf() == true && (selNode.toString() == "ECU-Version")

selNode.isLeaf() == true schreibt man einfach als selNode.isLeaf(), und String werden mit equals verglichen.
 

Elmishelmi

Mitglied
Hi, erstmal danke für die Antworten!

1. Zu Joose:
Das habe ich versucht, leider klappt das jedoch nicht.

2. Zu Harry Kane
1. Ich schreibe einen XML Editor und versuche mit der Methode copy() einen Treenode zu kopieren.
2. Ja, der JTree baut sich immer neu auf, je nach geladener Datei. Das funktioniert problemlos.
3. Der LeafCellEditor sorgt dafür das nur Leafs editierbar sind.
4. Den TreeCellEditor habe ich explizit auf Null gesetzte weil ich einen Bug im Programm habe und noch keine Lösung gefunden habe. Wenn ich einen bestimmten Knoten mit einer ComboBox editieren will, taucht die ComboBox nach dem editieren bei jedem selektierten Knoten auf. Ist natürlich keine Lösung die so bestehen bleiben soll.
5. Danke für den Hinweis den Tree einfach zu aktualisieren, da hatte ich wohl Tomaten auf den Augen, gar nicht daran gedacht.
6. Muss ich die path() Methode nicht nutzen, um dem Tree mitzuteilen wo der selektierte Knoten der copy() Methode eingefügt werden soll oder ist die überflüssig?

Ich habe mir eure Anmerkungen durchgelesen und schreibe den Code nun neu. Danke für die Hilfestellungen!
 

Harry Kane

Top Contributor
2. Ja, der JTree baut sich immer neu auf, je nach geladener Datei. Das funktioniert problemlos.
Jo, jetzt sehe ich es. Du behältst in deinem XMLEditor eine Referenz auf den root node des JTree. Je nachdem was in
Java:
model.synchronizeXmlWithModel(path, root);
passiert, ist es deshalb durchaus möglich nach dem Laden einer Datei das alte TreeModel mit neuen Kindkoten zu versehen.
6. Muss ich die path() Methode nicht nutzen, um dem Tree mitzuteilen wo der selektierte Knoten der copy() Methode eingefügt werden soll oder ist die überflüssig?
Nein, die path-Methode macht nichts dergleichen. In der path-Methode und auch in der copy-Methode wird nur auf demTreeSeelctionModel des JTree ein TreeSeelctionListener registriert. Dabei "passiert" zunächst mal gar nix. Der Code in der valueChanged-Methode wird erst ausgeführt, wenn du auf einen Knoten klickst bzw. den ausgewählten Knoten änderst.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Swing ActionListener führt seine Aufgabe nur teilweise aus. AWT, Swing, JavaFX & SWT 7
C Button ActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
B Actionlistener mit Java Swing AWT, Swing, JavaFX & SWT 2
L jComboBox Actionlistener wird beim erstmaligen Befüllen getriggert AWT, Swing, JavaFX & SWT 7
H Viele ActionListener (MouseListener) - Performance AWT, Swing, JavaFX & SWT 24
pkm MainFrame durch Actionlistener auffrischen, aber wie? AWT, Swing, JavaFX & SWT 2
L actionListener für Button AWT, Swing, JavaFX & SWT 97
R Actionlistener funktioniert nicht AWT, Swing, JavaFX & SWT 4
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
R ActionListener in Actionlistener AWT, Swing, JavaFX & SWT 6
S Swing Variable in Actionlistener aufrufen AWT, Swing, JavaFX & SWT 10
P Swing ActionListener überschreibt einen Wert aus der Hauptklasse nicht AWT, Swing, JavaFX & SWT 5
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
M AWT Kann meinen Fehler beim ActionListener nicht finden AWT, Swing, JavaFX & SWT 5
F Wie bekomme ich den Wert der ComboBox in eine Variable gespeichert welche ich für meinen ActionListener nutzen kann? AWT, Swing, JavaFX & SWT 3
L Ein Actionlistener für ein Textfeld, anstatt viele Actionlistener für ein Textfeld AWT, Swing, JavaFX & SWT 7
coolian ActionListener funktonirt nicht richtig auf JMenuItem AWT, Swing, JavaFX & SWT 4
L ActionListener zu Button in Panel hinzufügen AWT, Swing, JavaFX & SWT 10
R Kann JLabel in ActionListener nicht aufrufen AWT, Swing, JavaFX & SWT 4
Blender3D einzelner ActionListener vs anonyme ActionListener AWT, Swing, JavaFX & SWT 10
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
xYurisha ActionListener Methoden Buttons zuweisen! AWT, Swing, JavaFX & SWT 16
J ActionListener bei Buttons AWT, Swing, JavaFX & SWT 14
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5
it_is_all ActionListener umlenken/ updaten mit AddActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 3
it_is_all Event Handling ActionListener in anderer Klasse klappt nicht AWT, Swing, JavaFX & SWT 4
F "ActionListener" funktioniert nicht AWT, Swing, JavaFX & SWT 4
Z ActionListener Variable übergeben AWT, Swing, JavaFX & SWT 12
T JProgressbar während actionListener updaten AWT, Swing, JavaFX & SWT 1
S While Schleife im Actionlistener AWT, Swing, JavaFX & SWT 1
S ActionListener für alle Buttons AWT, Swing, JavaFX & SWT 26
R Swing ActionListener bei JButton AWT, Swing, JavaFX & SWT 9
T ActionListener nimmt JTextField nicht mehr an. AWT, Swing, JavaFX & SWT 2
P ActionListener Graphics Einbauen AWT, Swing, JavaFX & SWT 0
S actionlistener mit 2 fenster integrieren AWT, Swing, JavaFX & SWT 11
Liondary GUI - ActionListener AWT, Swing, JavaFX & SWT 7
J ActionListener erkennt Variable nicht AWT, Swing, JavaFX & SWT 6
Sin137 ActionListener in MVC AWT, Swing, JavaFX & SWT 7
M ActionListener und mathematische Methoden AWT, Swing, JavaFX & SWT 13
A Oberfläche mit zwei Klassen und actionlistener verbinden AWT, Swing, JavaFX & SWT 7
Paul15 ActionListener Variablen AWT, Swing, JavaFX & SWT 13
Y ActionListener AWT, Swing, JavaFX & SWT 2
K Ereignisbehandlung, ActionListener, ActionEvent AWT, Swing, JavaFX & SWT 3
A Gui für Vokabeltrainer (ActionListener) AWT, Swing, JavaFX & SWT 14
C Im ActionListener Buttons disablen, einen Thread starten, dann Buttons enablen AWT, Swing, JavaFX & SWT 2
M JTextArea wird nicht aktualisiert (ActionListener-Problem) AWT, Swing, JavaFX & SWT 1
J Event Handling JOptionPane ActionListener setzen. AWT, Swing, JavaFX & SWT 3
S ActionListener Klasse aufrufen AWT, Swing, JavaFX & SWT 4
R Swing Problem: IOException bei ActionListener AWT, Swing, JavaFX & SWT 1
J ActionListener soll auf paint() Methode zugreifen AWT, Swing, JavaFX & SWT 1
A JButton wird bei ActionListener nicht "angenommen" AWT, Swing, JavaFX & SWT 7
T Einfaches Problem mit ActionListener AWT, Swing, JavaFX & SWT 2
K ActionListener mit KeyListener AWT, Swing, JavaFX & SWT 7
K GUI, Button, ActionListener - ein paar Einsteigerprobleme AWT, Swing, JavaFX & SWT 1
W Verschachtelter ActionListener AWT, Swing, JavaFX & SWT 0
N gewünschte ActionListener bei RadioButton mit isSelected geht nicht AWT, Swing, JavaFX & SWT 2
C Probleme mit Buttons und einem ActionListener AWT, Swing, JavaFX & SWT 2
K Swing JMenu und ActionListener AWT, Swing, JavaFX & SWT 4
A Swing ActionListener AWT, Swing, JavaFX & SWT 8
V ActionListener Abhängigkeitenproblem AWT, Swing, JavaFX & SWT 6
M ActionListener für mehrere Klassen AWT, Swing, JavaFX & SWT 4
J ActionListener für Buttons AWT, Swing, JavaFX & SWT 3
M Event Handling ActionListener übergeben ich checks net AWT, Swing, JavaFX & SWT 4
C Swing ComboBox - ActionListener deaktivieren AWT, Swing, JavaFX & SWT 2
S Button (ActionListener) funktioniert nicht, wenn y-Koordinate verändert wird AWT, Swing, JavaFX & SWT 5
A Swing ActionListener kann nicht hinzugefügt werden AWT, Swing, JavaFX & SWT 4
P Actionlistener - 3 klassen - kompliziert - auf methoden zugreifen AWT, Swing, JavaFX & SWT 3
Q CardLayout, ausgelagerte Panels, ActionListener AWT, Swing, JavaFX & SWT 5
M ProgressBar in ActionListener AWT, Swing, JavaFX & SWT 4
D AWT eigenem Knopf ActionListener zuweisen AWT, Swing, JavaFX & SWT 24
E Wert aus ActionListener geben AWT, Swing, JavaFX & SWT 4
J ActionListener per Innere Klasse oder e.getActionCommand() if-Abfrage? AWT, Swing, JavaFX & SWT 12
L Swing ActionListener zugriff auf bestimmte Elemente AWT, Swing, JavaFX & SWT 3
P Swing Seltsames ActionListener-Verhalten AWT, Swing, JavaFX & SWT 7
Oliver530 ActionListener von eigener ButtonKlasse AWT, Swing, JavaFX & SWT 16
Kenan89 statischer ActionListener keine Wirkung? AWT, Swing, JavaFX & SWT 2
Kenan89 statischer ActionListener keine Wirkung? AWT, Swing, JavaFX & SWT 3
C In der Schleife ActionListener aktivieren AWT, Swing, JavaFX & SWT 3
B Swing Problem beim ActionListener AWT, Swing, JavaFX & SWT 5
P Swing JPanel mit ActionListener mehrfach verwenden AWT, Swing, JavaFX & SWT 8
1 ActionEvent generieren und an ActionListener weiterleiten AWT, Swing, JavaFX & SWT 12
N Swing Klasse erbt von JDialog - Problem mit innerer ActionListener-Klasse AWT, Swing, JavaFX & SWT 6
N JCombobox und Actionlistener Aktion nur ausführen, wenn Useraktion ihn auslöst AWT, Swing, JavaFX & SWT 4
N Componente und Actionlistener AWT, Swing, JavaFX & SWT 5
C ActionListener AWT, Swing, JavaFX & SWT 6
Corben ActionListener Error AWT, Swing, JavaFX & SWT 2
F Wert durch ActionListener an Klasse übergeben AWT, Swing, JavaFX & SWT 3
I Swing Problem mit InputMap bei JButton (ActionListener) AWT, Swing, JavaFX & SWT 3
S Swing JButton mit ActionListener innerhalb einer JTable AWT, Swing, JavaFX & SWT 4
P Variablen in einem ActionListener zurücksetzen AWT, Swing, JavaFX & SWT 6
M AWT Problem mit ActionListener AWT, Swing, JavaFX & SWT 2
A Swing Bug in Swing? Wenn checkbox disabled reagiert ActionListener nicht AWT, Swing, JavaFX & SWT 5
S ActionListener "nach oben weitergeben" AWT, Swing, JavaFX & SWT 10
M Anonymer ActionListener AWT, Swing, JavaFX & SWT 4
L SWT Actionlistener Combobox öffnen AWT, Swing, JavaFX & SWT 4
S MenuBar ActionListener Event ... AWT, Swing, JavaFX & SWT 6
B Swing Formular mit mehreren Elementen - wie die ActionListener-Verarbeitung lösen? AWT, Swing, JavaFX & SWT 2
M getSource() findet Button nicht - ActionListener AWT, Swing, JavaFX & SWT 4
S Swing mit ActionListener auf Objekte einer anderen Klasse zugreifen AWT, Swing, JavaFX & SWT 3
G Swing Button ActionListener macht komische Sachen AWT, Swing, JavaFX & SWT 19

Ähnliche Java Themen

Neue Themen


Oben