Elemente einer JList ausgeben

pawlo

Mitglied
Hallo,

habe ein Problem mit dem Ausgeben von JList Elementen.
Möchte also Elemente mit der Maus auswählen und durch ein Mausklick auf der Konsole ausgeben lassen.
Das Auswählen geht automatisch, mit der Ausgabe habe ich ein problem.

Hat jm einen Vorschlag?

Gruß, Pawel

Java:
public class ubers extends JFrame implements ActionListener
             {
              public JButton b;
              public JList li;
              public  JScrollPane scrollpane;
              public JList list;
              public ubers()
              {
              
    String categories[] = { "Household", "Office", "Extended Family",
        "Company (US)", "Company (World)", "Team", "Will",
        "Birthday Card List", "High School", "Country", "Continent",
        "Planet" };
          
                
               list =  new JList(categories);
               scrollpane = new JScrollPane(list);
               
               list.getSelectionModel().addListSelectionListener(null);
               
              // list.addMouseListener(null);
               
               getContentPane().add(scrollpane, BorderLayout.CENTER);
               setVisible(true);
                //list.addListSelectionListener( new ListSelectionListener());
    
  }
            public void mouseClicked(java.awt.event.MouseEvent e) {
               
            Object[] sel = list.getSelectedValues();
            for(int i=0; i<sel.length; i++)
                System.out.println(sel[i]);
            System.out.println();
                
}
 
V

vanny

Gast
.addListSelectionListener(null); ??

warum addest du keinListSelectionListener? macht ma wenig Sinn ;)

Den MouseListener benötigst du nicht, implementiere den ListSelectionListener und die valueChanged(); Methode, da führst du dann alles aus und fertsch.

Gruß Vanny
//edit:
O0 implements ActionListener ? was machst du da ?
 
Zuletzt bearbeitet von einem Moderator:

Volvagia

Top Contributor
Ich hab sogar mehrere Vorschläge:

1) Funktionelles: Mach eine geschweifte Klammer am Ende dazu, implementiere public void actionPerformed(ActionEvent), füge einen MouseListener zu der JList hinzu und entferne das Hinzufügen von 'null' zu den SelectionListeners. :autsch:

2) Designmäßiges: Benenne die Klasse so wie es sich gehört und benutz die Tabulatoren um Blöcke zu bilden, nicht damit der Code lustig aussieht. :autsch:²


@vanny: Ich mache das immer über MouseListeners und benutzte SelectionListeners nur wenn z. B. ein Button enabled werden soll sobald eine Auswahl getroffen wurde. Ist wohl beides möglich.
 

Volvagia

Top Contributor
this funktioniert nur, falls "this" ein ListSelectionListener ist. (z. B. indem die Klasse das Interface implementierst.) Du kannst ihm auch anonym erzeugen, das ist mein favourisierter Weg, aber bei anonymen Klassen gehen die Meinungen teilweiße auseinander.
 

pawlo

Mitglied
ja ok, dann sieht der quellcode so aus. aber
Java:
list.addMouseListener(null);
ist immer noch mit null, sonst Fehlermeldung.

Java:
public class ubers extends JFrame implements ActionListener
             {
              public JButton b;
              public JList li;
              public  JScrollPane scrollpane;
              public JList list;
              public ubers()
              {
              
    String categories[] = { "Household", "Office", "Extended Family",
        "Company (US)", "Company (World)", "Team", "Will",
        "Birthday Card List", "High School", "Country", "Continent",
        "Planet" };
          
                
               list =  new JList(categories);
               scrollpane = new JScrollPane(list);
               
              
               
               list.addMouseListener(null);
               
               getContentPane().add(scrollpane, BorderLayout.CENTER);
               setVisible(true);
                //list.addListSelectionListener( new ListSelectionListener());
    
  }
            public void mouseClicked(java.awt.event.MouseEvent e) {
               
            Object[] sel = list.getSelectedValues();
            for(int i=0; i<sel.length; i++)
                System.out.println(sel[i]);
            System.out.println();
                
}public void actionPerformed (ActionEvent e)
	{ 
             }
 

Volvagia

Top Contributor
Ich bezweifel, dass es eine Fehlermeldung gibt, wenn du nicht versuchst null als Listener hinzuzufügen. Nur einen "echten" Listener hast du immer noch nicht hinzugefügt, und du hast noch immer eine Klammer am Ende der Klasse zu wenig. In die ActionPerfomed schreibst du, was passieren soll, falls eine Action ausgelöst wird. Dazu brauchst du aber erst mals einen Komponenten, der mit Actions umgehen kann, z. B. JButton.
 

pawlo

Mitglied
es scheint so richtig zu sein was du gesagt hast. zumindest bewegt sich jetzt bei jeder auswahl der cursor auf der konsole nach unten. allerdings werden die einzelnen elemente nicht ausgegeben. vermute dass der fehler hier liegt, weiss aber selber nicht genau.
Java:
Object[] sel = list.getSelectedValues();
            for(int i=0; i<sel.length; i++)
              System.out.println(sel[i]);
            System.out.println();
 
V

vanny

Gast
Java:
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class TheJList extends JFrame{
	
	private String[] content = {"bli", "bla", "blubb", "foo"};
	private JList list;
	
	public TheJList(){
		
		super("Supi");
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		list = new JList(content);
			list.addListSelectionListener(new ListSelectionListener() {
				
				//das event wird bei mouseDown und mouseReleased und mit den CoursorTasten ausgelöst
				@Override
				public void valueChanged(ListSelectionEvent arg0) {
				System.out.println(content[list.getSelectedIndex()]);	
				}
			});
			
		this.add(list);
		this.pack();
		this.setLocationRelativeTo(null);
		this.setVisible(true);
		
	}

	public static void main(String[] args) {
		new TheJList();
	}

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Swing Auf JList-Elemente aus einer anderen Klasse zugreifen AWT, Swing, JavaFX & SWT 1
S Swing Elemente einer JList Farbig hinterlegen AWT, Swing, JavaFX & SWT 6
N JavaFX GUI Elemente einer anderen (FXML)Klasse ansprechen AWT, Swing, JavaFX & SWT 16
K Kann nicht auf GUI Elemente zugreifen, mit einer Methode im Controller klappts, mit der anderen nich AWT, Swing, JavaFX & SWT 10
wolfgang63 JavaFX Elemente einer Group entfernen AWT, Swing, JavaFX & SWT 1
S Swing UI-Elemente ordnen sich ungewollt in einer Reihe (ohne Layout) AWT, Swing, JavaFX & SWT 5
T die Liste der Elemente aus einer JComboBox auslesen AWT, Swing, JavaFX & SWT 6
M Elemente statisch anordnen AWT, Swing, JavaFX & SWT 4
_user_q ChoiceBox Elemente: Sprache ändern AWT, Swing, JavaFX & SWT 7
T Elemente auf vorheriger Stage, nach Wechsel der Stage ansprechen AWT, Swing, JavaFX & SWT 32
Lunar Swing JFrame erstellt; weitere Elemente werden nicht eingefügt/sind nicht zu sehen AWT, Swing, JavaFX & SWT 4
J JavaFX JavaFX Splitpane - Zugriff auf die Controller der Elemente AWT, Swing, JavaFX & SWT 8
G Swing Variable Elemente für GroupLayout AWT, Swing, JavaFX & SWT 18
F JFrame zeigt nicht alle Elemente auf anhieb an AWT, Swing, JavaFX & SWT 4
J JavaFX Elemente werden nicht zu TableView hinzugefügt AWT, Swing, JavaFX & SWT 3
J JavaFX JavaFX Elemente an Fenstergröße skalieren AWT, Swing, JavaFX & SWT 5
M Schnittpunkte zwischen zwei Graphics2D Elemente ermitteln. AWT, Swing, JavaFX & SWT 5
T LayoutManager Anordnen der Elemente im GridBagLayout AWT, Swing, JavaFX & SWT 11
T AWT Grafik"Array" einzelne Elemente verschieben AWT, Swing, JavaFX & SWT 1
sandaime Swing 3 JComboBoxen ausgelesen Elemente einzel ausgeben AWT, Swing, JavaFX & SWT 6
M JavaFX GUI-Elemente erstellen, nachdem die GUI geladen hat AWT, Swing, JavaFX & SWT 4
TheJavaKid JavaFX Elemente positionieren AWT, Swing, JavaFX & SWT 2
D JavaFX Elemente aus VBox unterscheiden AWT, Swing, JavaFX & SWT 1
R Swing Elemente verschieben sich im GBL beim Ein/Ausblenden AWT, Swing, JavaFX & SWT 0
Z Swing Swing: Elemente werden doppel/verschoben gezeichnet, sind teils unsichtbar etc... AWT, Swing, JavaFX & SWT 10
D SWT SWT Elemente aus anderen Klassen aufrufen - Invalid thread access AWT, Swing, JavaFX & SWT 6
O Ähnliche GUI Elemente - vererbung?! AWT, Swing, JavaFX & SWT 0
M AWT Gui anzeige Probes - Elemente erscheinen nicht regelmäßig AWT, Swing, JavaFX & SWT 2
M Swing JTabbedPane: Tab-Elemente anpassen AWT, Swing, JavaFX & SWT 3
T Swing Elemente der JList überlappend darstellen AWT, Swing, JavaFX & SWT 5
K GUI Elemente über eine separate Textdatei beschriften? AWT, Swing, JavaFX & SWT 4
T Alle Swing-Elemente anzeigen AWT, Swing, JavaFX & SWT 9
M Swing Elemente im Dialog neu "laden". AWT, Swing, JavaFX & SWT 6
T JTree - Elemente mit Doppelklick auswählen AWT, Swing, JavaFX & SWT 6
L Swing ActionListener zugriff auf bestimmte Elemente AWT, Swing, JavaFX & SWT 3
S Elemente im Panel in richtige Ausgangsstellung bringen AWT, Swing, JavaFX & SWT 10
K LayoutManager Wieso verschwinden Elemente? AWT, Swing, JavaFX & SWT 20
M JFrame + JNA/aero modul - GUI Elemente so möglich? AWT, Swing, JavaFX & SWT 28
B JList zeigt Elemente nicht an AWT, Swing, JavaFX & SWT 3
R Größe/Anordnung der Gui-Elemente automatisch? AWT, Swing, JavaFX & SWT 6
S JVM von Oracle/Sun soll für AWT/SWING Elemente die die Optimierungen der NVidia Treiber verwenden AWT, Swing, JavaFX & SWT 3
C Swing JFrame nimmt keine anderen Elemente auf AWT, Swing, JavaFX & SWT 13
R JApplet, Elemente unsichtbar AWT, Swing, JavaFX & SWT 2
1 JList - Elemente mit rechter Maustaste wählen AWT, Swing, JavaFX & SWT 6
L ID für GUI Elemente generieren AWT, Swing, JavaFX & SWT 11
C SWT-Elemente an View-Fenster angleichen und automatisch resizen AWT, Swing, JavaFX & SWT 3
U Elemente im Panel zentrieren mit GridLayout AWT, Swing, JavaFX & SWT 3
P Elemente im Kreis aufstellen AWT, Swing, JavaFX & SWT 5
G Swing Elemente aus Arraylist auf JFrame anzeigen AWT, Swing, JavaFX & SWT 9
G GUI Elemente aus NetBeans verwenden AWT, Swing, JavaFX & SWT 8
L SWT tree elemente markieren AWT, Swing, JavaFX & SWT 4
C Swing Elemente in JList sortieren AWT, Swing, JavaFX & SWT 2
T Elemente zu JList dynamisch hinzufügen AWT, Swing, JavaFX & SWT 4
S JTree Elemente nach BaumLevel abspeichern AWT, Swing, JavaFX & SWT 2
S JTree & JComboBox - Elemente übers Fenster hinaus anzeigen AWT, Swing, JavaFX & SWT 9
F JScrollPane überlagert andere Elemente AWT, Swing, JavaFX & SWT 5
K Swing Elemente auf Zeichenfeld verschieben AWT, Swing, JavaFX & SWT 8
S Mit eigener Klasse auf GUI-Elemente zugreifen AWT, Swing, JavaFX & SWT 3
E Swing JComboBox als CellEditor in JTable zeigt Elemente nicht sofort an AWT, Swing, JavaFX & SWT 5
R In JFrame oder in Canvas mit grafischen Elemente zeichnen AWT, Swing, JavaFX & SWT 2
E Swing JList zur Laufzeit hinzugefügt elemente nicht sichtbar?! AWT, Swing, JavaFX & SWT 2
B Swing Dynamisch Elemente in JScrollPane hinzufügen AWT, Swing, JavaFX & SWT 6
M Swing Von einem Controller aus View-Elemente ändern AWT, Swing, JavaFX & SWT 11
T DND mit JList Elemente nicht am Ende einfügen AWT, Swing, JavaFX & SWT 3
Tobse Swing JList elemente hinzufügen AWT, Swing, JavaFX & SWT 4
K JLayeredPane Elemente auf gleicher Position AWT, Swing, JavaFX & SWT 7
D Elemente werden nicht angezeigt AWT, Swing, JavaFX & SWT 2
W jComboBox unterschiedlich selectable elemente AWT, Swing, JavaFX & SWT 7
M Elemente in JTabbedPane platzieren AWT, Swing, JavaFX & SWT 7
N Swing JList Elemente ausgeben fehlerhaft AWT, Swing, JavaFX & SWT 4
M Swing Alle Elemente eines Panels? AWT, Swing, JavaFX & SWT 9
S Eigene GUI Elemente erstellen AWT, Swing, JavaFX & SWT 6
M.F.G. Fehler bei der Anzeige Grafischer Elemente AWT, Swing, JavaFX & SWT 13
B Swing Problem beim Elemente zu JList hinzufügen AWT, Swing, JavaFX & SWT 5
C (Swing)GUI-Elemente werden nicht aktualisiert. AWT, Swing, JavaFX & SWT 2
P JList: Reihenfolge der Elemente per Drag'n'Drop ändern. AWT, Swing, JavaFX & SWT 9
M Swing JList - Elemente umbenennen? AWT, Swing, JavaFX & SWT 4
MrMilti Gezeichnete Java2D Elemente mit Events versehen AWT, Swing, JavaFX & SWT 3
H [gelöst] Swing Elemente verdecken AWT, Swing, JavaFX & SWT 14
B In externer Eventhandlerklasse auf GUI-Elemente zugreifen AWT, Swing, JavaFX & SWT 3
K BoxLayout skaliert die "falschen" Elemente AWT, Swing, JavaFX & SWT 5
A SWT - Elemente zur Laufzeit ändern AWT, Swing, JavaFX & SWT 6
S Andere Elemente in JComboBox anzeigen AWT, Swing, JavaFX & SWT 2
T Elemente werden nicht direkt angezeigt AWT, Swing, JavaFX & SWT 3
S Nachträglich Swing-Elemente in JFrame erzeugen AWT, Swing, JavaFX & SWT 18
K Titel für eingebundene Elemente wie JPanel AWT, Swing, JavaFX & SWT 3
F Dynamische Swing Elemente AWT, Swing, JavaFX & SWT 10
B Grafische Anordnung der Elemente AWT, Swing, JavaFX & SWT 2
S JComboBox zeigt beim 1. öffnen nur 2 Elemente ? AWT, Swing, JavaFX & SWT 9
J LayoutManager der Elemente untereinander anordnet. AWT, Swing, JavaFX & SWT 11
S Zugriff auf Elemente funktioniert mit SWING nicht mehr AWT, Swing, JavaFX & SWT 5
G JButton und andere J-Elemente: Markierung ausblenden AWT, Swing, JavaFX & SWT 6
Paule alle Elemente eines SWT Trees AWT, Swing, JavaFX & SWT 8
S List Elemente AWT, Swing, JavaFX & SWT 4
G Elemente erst da wenn mit Maus drüber gefahren bin AWT, Swing, JavaFX & SWT 2
E GUI-Elemente aus txt- oder xml-File erstellen? AWT, Swing, JavaFX & SWT 5
J FAQ programmieren, welche Swing-Elemente AWT, Swing, JavaFX & SWT 7
M Elemente hängen dicht aufeinander AWT, Swing, JavaFX & SWT 2
S Falsche Position, Elemente erscheinen nicht, Flackern AWT, Swing, JavaFX & SWT 6
DEvent Je nach Auswahl in Liste entsprechende Input-Elemente anzeig AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben