JList nicht sichtbar

dg87

Erfahrenes Mitglied
Hallo,
erstelle gerade zur Übung für die Schule ein kleines Java Programm in Eclipse, wo man in ein JTextfield was eingibt und über einen Button wird dies zur JList hinzugefügt (funktioniert auch)
Mein Problem ist nur, dass wenn ich das Programm starte, sprichd das Fenster sich öffent, zwar alles angezeigt wird, außer mein JList, in der Schule gings ja auch.
Will die von Anfang an sehen.

Sieht bei mir so aus:

Code:
final DefaultListModel model = new DefaultListModel(); // Model enthält Daten
final JList listbox = new JList(model); // Jlist = View = Zeigt daten an

// weiter unten dann

listbox.setSize(300,300);
listbox.setVisible(true);

Die wird einfach nicht angezeigt. Sobald jedoch ein Element bei model hinzugefügt wird, sieht man das weiße Umfeld von Jlist, jedoch mit einer besch.... Größe (nicht einstellbar). JList befindet sich auf einen Container

Hat einer von euch Tipps, ich verzweifle, die muss doch angezeigt werden.
setsize und setvisible sind auch ganz zum schluss.

Danke Gruß dg87
 
Weiß nicht, ob das mit dem "setVisible" so korrekt ist. Zunächst müsste man ja die Komponente irgendeiner Pane im Fenster zuweißen / hinzufügen. Und zum zweiten kommts auf den LayoutManager drauf an (hab das mal mit Farben dargestellt, wenn du keinen LayoutManager drin hast oder den "falschen", füllt die JList alles und du siehst nunja, "nix"). Teste einfach den Quellcode und du wirst sehen woran es gelegen hat (denk ich mal).

Hier mein Code:
Java:
import java.awt.Color;

import javax.swing.DefaultListModel;
import javax.swing.JFrame;
import javax.swing.JList;

public class KleinerTest extends JFrame {

	public KleinerTest(){
		this.setTitle("Listbox Test");
		this.getContentPane().setBackground(Color.blue);
		this.setLayout(null);	//ein Null layoutManager, damit die JList nicht allen Platz "verschlingt"
		this.setSize(500, 500);
		
		final DefaultListModel model = new DefaultListModel(); // Model enthält Daten
		//model.add(0, "Hello World");
		final JList listbox = new JList(model); // Jlist = View = Zeigt daten an
		listbox.setBounds(10,10,300,300);
		listbox.setBackground(Color.red);
		this.add(listbox);
		
		this.setVisible(true);
	}
	
	public static void main(String[] args) {
		new KleinerTest();
	}

}

Have fun!

Gruß Max
 
Zurück