jList mit Spalten

ITrun90

Mitglied
Hey,

nachdem ich nun etwas weiter gekommen bin mit meiner JLIST stecke ich nun wieder mal fest.

Ich habe eine jList wie folgt:

Java:
DefaultListModel model; //global

Java:
jList1 = new javax.swing.JList();
model = new DefaultListModel();
jList1.setModel(model);
jList1.setLayoutOrientation(JList.HORIZONTAL_WRAP); //das hier klappt nicht so recht

Java:
model.addElement("spalte1");
model.addElement("spalte2");

Mein Problem ist, dass mir spalte1 und spalte2 nicht in einer Reihe, sondern in 2 Reihen angezeigt werden. Das Gleiche auch wenn ich VERTICAL_WRAP benutze... möchte es aber gerne in 2 Spalten haben (der Optik wegen).
 
Eine JList mit mehreren Spalten ist eigentlich eine JTable 🙂 Was genau soll da denn (anderes als eine 2-spaltige JTable) rauskommen?
 
Kann an vielem liegen, z.B. fehlender Aufruf von [c]setVisibleRowCount(-1);[/c] oder falscher Layoutmanager, falsche Panelgröße etc.
Java:
	public static void main(String[] args) {
		JFrame frame = new JFrame();
		JPanel panel = new JPanel(new BorderLayout());

		JList jList1 = new javax.swing.JList();
		DefaultListModel model = new DefaultListModel();
		jList1.setModel(model);
		model.addElement("spalte1");
		model.addElement("spalte2");
		jList1.setLayoutOrientation(JList.HORIZONTAL_WRAP);
		jList1.setVisibleRowCount(-1);
		
		panel.add(jList1);
		frame.add(panel);

		frame.setSize(500, 100);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setLocationRelativeTo(null);
		frame.setVisible(true);
	}
 
Kann an vielem liegen, z.B. fehlender Aufruf von [c]setVisibleRowCount(-1);[/c] oder falscher Layoutmanager, falsche Panelgröße etc.
Java:
	public static void main(String[] args) {
		JFrame frame = new JFrame();
		JPanel panel = new JPanel(new BorderLayout());

		JList jList1 = new javax.swing.JList();
		DefaultListModel model = new DefaultListModel();
		jList1.setModel(model);
		model.addElement("spalte1");
		model.addElement("spalte2");
		jList1.setLayoutOrientation(JList.HORIZONTAL_WRAP);
		jList1.setVisibleRowCount(-1);
		
		panel.add(jList1);
		frame.add(panel);

		frame.setSize(500, 100);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setLocationRelativeTo(null);
		frame.setVisible(true);
	}

Vielen Dank 😉

Habe nur die Zeile

Java:
jList1.setVisibleRowCount(-1);

hinzugefügt und es klappt
 

Zurück
Oben