Hallo,
irgendwie frustriert mich Swing so langsam. Es gibt eigentlich nichts, was auch nur mal annähernd auf Anhieb klappt oder so aussieht, wie ich das will. Zugegebenermaßen sind meine Erfahrungen im Umgang damit noch nicht wirklich ausgereift, aber ich habe einfach keine Zeit dazu, die komplette Dokumentation durchzulesen und muss das wohl oder übel nebenher machen.
Hier mal mein neustes Problem:
Das kann man einfach in den Konstruktor einer von JPanel abgeleiteten Klasse stecken. Das Problem ist, dass der Divider meinen Aufruf einfach ignoriert und viel zu weit links bleibt. Scheinbar beanspruchen die beiden Listen den Platz irgendwie für sich.
irgendwie frustriert mich Swing so langsam. Es gibt eigentlich nichts, was auch nur mal annähernd auf Anhieb klappt oder so aussieht, wie ich das will. Zugegebenermaßen sind meine Erfahrungen im Umgang damit noch nicht wirklich ausgereift, aber ich habe einfach keine Zeit dazu, die komplette Dokumentation durchzulesen und muss das wohl oder übel nebenher machen.
Hier mal mein neustes Problem:
Java:
import javax.swing.AbstractListModel;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
public class Test extends JPanel
{
Test()
{
JSplitPane jSplitPane1 = new JSplitPane();
JPanel jPanel9 = new JPanel();
JPanel jPanel12 = new JPanel();
JPanel jPanel14 = new JPanel();
JPanel jPanel2 = new JPanel();
JPanel jPanel4 = new JPanel();
JPanel jPanel5 = new JPanel();
JPanel jPanel6 = new JPanel();
JPanel jPanel7 = new JPanel();
JPanel jPanel8 = new JPanel();
JPanel jPanel3 = new JPanel();
JPanel jPanel10 = new JPanel();
JPanel jPanel13 = new JPanel();
JPanel jPanel11 = new JPanel();
JPanel jPanel1 = new JPanel();
JScrollPane jScrollPane1 = new JScrollPane();
JList jList1 = new JList();
JScrollPane jScrollPane2 = new JScrollPane();
JList jList2 = new JList();
JPanel jPanel15 = new JPanel();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
setLayout(new javax.swing.BoxLayout(this, javax.swing.BoxLayout.LINE_AXIS));
jPanel9.setLayout(new java.awt.GridLayout(3, 3));
jPanel9.add(jPanel12);
jPanel9.add(jPanel14);
jPanel9.add(jPanel2);
jPanel9.add(jPanel4);
jPanel5.add(jPanel6);
jPanel5.add(jPanel7);
jPanel5.add(jPanel8);
jPanel9.add(jPanel5);
jPanel9.add(jPanel3);
jPanel9.add(jPanel10);
jPanel9.add(jPanel13);
jPanel9.add(jPanel11);
jSplitPane1.setLeftComponent(jPanel9);
jPanel1.setLayout(new BoxLayout(jPanel1, BoxLayout.PAGE_AXIS));
jList1.setModel(new AbstractListModel() {
String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
public int getSize() { return strings.length; }
public Object getElementAt(int i) { return strings[i]; }
});
jScrollPane1.setViewportView(jList1);
jPanel1.add(jScrollPane1);
jList2.setModel(new javax.swing.AbstractListModel() {
String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
public int getSize() { return strings.length; }
public Object getElementAt(int i) { return strings[i]; }
});
jScrollPane2.setViewportView(jList2);
jPanel1.add(jScrollPane2);
jPanel15.setLayout(new BoxLayout(jPanel15, BoxLayout.LINE_AXIS));
jButton1.setText("jButton1");
jPanel15.add(jButton1);
jButton2.setText("jButton2");
jPanel15.add(jButton2);
jPanel1.add(jPanel15);
jSplitPane1.setRightComponent(jPanel1);
jSplitPane1.setDividerLocation(0.5);
add(jSplitPane1);
}
/**
* @param args
*/
public static void main(String[] args)
{
JFrame frame = new JFrame();
frame.setVisible(true);
JPanel panel = new Test();
frame.add(panel);
}
}
Das kann man einfach in den Konstruktor einer von JPanel abgeleiteten Klasse stecken. Das Problem ist, dass der Divider meinen Aufruf einfach ignoriert und viel zu weit links bleibt. Scheinbar beanspruchen die beiden Listen den Platz irgendwie für sich.
Zuletzt bearbeitet: