Hi Leute
Ich habe das Problem, dass ich eine JList in einer JScrollPane habe, welche immer die gleiche Größe behält. Ich habe gleich ein einfaches BSP was gleich kompiliert werden kann um zu zeigen was ich meine.
In dem Beispiel soll die JList, so hoch werden wie die JTextArea links neben ihr. Also maximal 3 Zeilen hoch. Ich habe es schon mit setPreferencedSize() und setMaxSize() versucht, doch die Größe gleibt immer gleich.
Kann mir sagen wie ich das hinbekommen kann?
Danke schon mal für eure Hinweise
Eule
p.s: wenn der Code etwas wüst aussieht, dann liegt es daran, dass ich ihn aus einer Datei zurechtgefummelt habe.
Ich habe das Problem, dass ich eine JList in einer JScrollPane habe, welche immer die gleiche Größe behält. Ich habe gleich ein einfaches BSP was gleich kompiliert werden kann um zu zeigen was ich meine.
Java:
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class test extends JPanel{
private JLabel lvNameLabel = new JLabel("Unbekannt");
private JTextArea freeTextArea = new JTextArea(4,30);
private Vector<String> lvListVector = new Vector<String>(0,1);
private JList lvList = new JList(lvListVector);
private JScrollPane lvListScrollPane = new JScrollPane(lvList);
private JScrollPane freeTAScrollPane= new JScrollPane(freeTextArea);
public test() {
super();
setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.insets = new Insets( 0, 5, 5, 0);
c.gridy = 0;
c.gridx = 0;
c.gridwidth = 2;
add(lvNameLabel,c);
c.gridwidth = 1;
c.gridy = 1;
c.weightx = 0.8;
c.gridheight = 1;
add(freeTAScrollPane,c);
c.weightx = 0.2;
c.gridx = 1;
add(lvListScrollPane,c);
}
public static void main(String [] args) {
JFrame x = new JFrame();
x.getContentPane().add(new test());
x.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
x.setSize(800,600);
x.setVisible(true);
}
}
In dem Beispiel soll die JList, so hoch werden wie die JTextArea links neben ihr. Also maximal 3 Zeilen hoch. Ich habe es schon mit setPreferencedSize() und setMaxSize() versucht, doch die Größe gleibt immer gleich.
Kann mir sagen wie ich das hinbekommen kann?
Danke schon mal für eure Hinweise
Eule
p.s: wenn der Code etwas wüst aussieht, dann liegt es daran, dass ich ihn aus einer Datei zurechtgefummelt habe.