Einstellung der Größe des JPanel
Ich habe eine Klasse, die Sie erweitert eine JPanel genannte Zeile. Ich habe eine Reihe von Zeilen Hinzugefügt, um eine JLabel, der code ist der folgende:
JFrame f=new JFrame();
JPanel rowPanel = new JPanel();
//southReviewPanel.setPreferredSize(new Dimension(400,130));
rowPanel.setLayout(new BoxLayout(rowPanel, BoxLayout.Y_AXIS));
rowPanel.add(test1);
rowPanel.add(test1);
rowPanel.add(test2);
rowPanel.add(test3);
rowPanel.add(test4);
rowPanel.setPreferredSize(new Dimension(600, 400));
rowPanel.setMaximumSize(rowPanel.getPreferredSize());
rowPanel.setMinimumSize(rowPanel.getPreferredSize());
f.setSize(new Dimension(300,600));
JScrollPane sp = new JScrollPane(rowPanel);
sp.setSize(new Dimension(300,600));
f.add(sp);
f.setVisible(true);
wo test1 usw...ist eine Zeile. Wenn ich mir jedoch die Größe des Fensters ändern Sie das layout der Zeile irgendwie wird chaotisch (es passt so gut)... wie kann ich das verhindern?
InformationsquelleAutor aherlambang | 2010-11-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lesen Sie die Swing-tutorial auf Mit Layout-Managern. Jeder layout-manager hat seine eigenen Regeln über das, was passiert, wenn die Containergröße geändert wird. Experimentieren und spielen.
Im Falle einer BoxLayout es sollte beachten Sie die maximale Größe der Komponenten Hinzugefügt, um das panel, so dass Sie tun können:
Wenn du mehr Hilfe benötigen, posten Sie Ihre SSCCE demonstriert das problem.
download.oracle.com/javase/tutorial/uiswing/layout/border.html
Den bearbeiteten code ist NICHT ein SSCCE. Ja der link erwähnt, ein BorderLayout. Es gibt keine Weise, die Sie haben könnte, Lesen Sie den gesamten Abschnitt in 6 Minuten!!! Ein layout-manager funktioniert auf die Komponenten Hinzugefügt, um das panel, nicht das panel selbst.
gar nicht sagen, was es machen würde, es nicht in der Größe angepasst
danke...übersehen, dass man
InformationsquelleAutor camickr
Ich habe den code in http://download.oracle.com/javase/tutorial/uiswing/examples/layout/BoxLayoutDemoProject/src/layout/BoxLayoutDemo.java und passte es mit dem, was Sie versuchen zu tun, nur mit Schaltflächen anstelle von benutzerdefinierten JPanels:
Das Endergebnis ist dieses:
Wie Sie sehen können, die Schaltfläche Zeile ist perfekt aufeinander abgestimmt. Wenn Sie die Größe des JFrame, Sie bleiben ausgerichtet. Ist es das, was du suchst?
InformationsquelleAutor Cesar