P
Peter3000
Gast
Ich hab nich mal ein wenig mit der JList beschäftigt. Wenn ich normal eine JList im contentPane einfüge funktioniert es ohne probleme. Die Liste ist so weit wie mein fenster.
Aber wenn ich ich ein GridLayout(1,2) erzeuge und in die rechte Seite eine JList einbauen möchte zeigt er die Liste nur so groß an wie der längste eintrag der Liste ist. Wie bekomme ich es hin, dass die Liste den gesamten Right_Panel ausfüllt wie vorher für das ganze Fenster?
Hier der Quellcode:
Aber wenn ich ich ein GridLayout(1,2) erzeuge und in die rechte Seite eine JList einbauen möchte zeigt er die Liste nur so groß an wie der längste eintrag der Liste ist. Wie bekomme ich es hin, dass die Liste den gesamten Right_Panel ausfüllt wie vorher für das ganze Fenster?
Hier der Quellcode:
Code:
import java.awt.*;
import javax.swing.*;
public class JList_01 extends JFrame {
String items [] = {"eins", "zwei", "drei"};
JList list = new JList();
Left_Side ls = new Left_Side();
Right_Side rs = new Right_Side();
public JList_01()
{
super("JList_01");
Container cp = getContentPane();
cp.setLayout(new GridLayout(1,2));
cp.add(ls);
cp.add(rs);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setSize(500,300);
this.setResizable(false);
this.setVisible(true);
}
public class Left_Side extends JPanel
{
public Left_Side()
{
setBackground(Color.LIGHT_GRAY);
}
}
public class Right_Side extends JPanel
{
public Right_Side()
{
setLayout(new FlowLayout(FlowLayout.LEFT));
liste_fuellen(); add(list);
setBackground(Color.DARK_GRAY);
}
}
public void liste_fuellen()
{
DefaultListModel model = new DefaultListModel();
for(int i = 0; i < items.length; i++)
{
model.addElement(items[i]);
}
list.setModel(model);
}
public static void main(String[] args) {
JList_01 list = new JList_01();
}
}