tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
1066
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Ein_Freund
    Ein_Freund Ein_Freund ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Ort
    Essen
    Beiträge
    272
    Hallo,

    ich habe eine JList und möchte auf die Auswahl eines Elements reagieren. Das klappt auch alles soweit, nur warum wird das Ereignis zweimal ausgeführt? Oder wird es nur einmal ausgeführt und das Element zweifach zurückgegeben? Was muss ich tun, um das gewählte Element in einfacher Form als Rückgabewert zu erhalten?

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    ...
     
    jlstDel.addListSelectionListener(new ListSelectionListener()    {
      public void valueChanged (ListSelectionEvent e)   {
        System.out.println(((JList) e.getSource()).getSelectedValue());
      }
    });
     
    ...

    MfG
     
    Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer!
    (unbekannt )

    Bis irgendwann...

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Schau mal hier:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    
    /**
     * 
     */
    package de.tutorials.training;
     
    import javax.swing.JFrame;
    import javax.swing.JList;
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.ListSelectionListener;
     
    /**
     * @author Darimont
     * 
     */
    public class JListExample extends JFrame {
     
        JList list;
     
        public JListExample() {
            super("JListExample");
            setDefaultCloseOperation(EXIT_ON_CLOSE);
     
            list = new JList(new Object[] { "A", "B", "C" });
     
            add(list);
     
            list.addListSelectionListener(new ListSelectionListener() {
                public void valueChanged(ListSelectionEvent e) {
                    if (!e.getValueIsAdjusting()) {
                        System.out.println(list.getSelectedValue());
                    }
                }
            });
     
            pack();
            setVisible(true);
        }
     
        /**
         * @param args
         */
        public static void main(String[] args) {
            new JListExample();
        }
    }

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  3. #3
    Avatar von Ein_Freund
    Ein_Freund Ein_Freund ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Ort
    Essen
    Beiträge
    272
    Dank Dir, genau an dem getValueIsAdjusting hat's gelegen. Offensichtlich lauschen dort mehrere Listener... das muss ich mir erstmal genauer erschliessen. Ich frage mich nur, wie man da im Guten drauf kommen soll...

    MfG
     
    Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer!
    (unbekannt )

    Bis irgendwann...

Ähnliche Themen

  1. [Mootools, IE8] onfocus Ereignis wird nicht ausgeführt
    Von Alex Duschek im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 16.11.10, 14:26
  2. onblur Ereignis wird nur einmal ausgeführt?
    Von atlantyz im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 09.11.10, 16:41
  3. JList und ListSelectionListener wird mehrfach ausgeführt
    Von benurb im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 04.07.08, 13:25
  4. onLoad Ereignis wird nicht korrekt ausgeführt
    Von StefanLausL im Forum Javascript & Ajax
    Antworten: 5
    Letzter Beitrag: 04.04.08, 09:07
  5. Antworten: 8
    Letzter Beitrag: 11.11.04, 09:53