我使用Java和MiGLayout嘗試重新創建這個佈局:如何在Java中創建這3列分離器?
http://www.methvin.com/splitter/3csplitter.html
因此,像這樣:
- 每一列必須是可調整大小
- 的大小在調整主窗口大小時左右列保持相同大小
- 中間列填充所有可用空間並在調整大小時更改大小
換句話說,左,右面板需要「粘」在窗口的左側和右側,也可調整大小(與被調整時,不按比例改變)
我試着很多事情,但調整大小始終是問題。這是當前的代碼,這是試圖用嵌套的JSplitPane做到這一點。
public class MainGUI extends JFrame {
private String app_name = "Layout Test";
private int window_x_min = 700;
private int window_y_min = 450;
public MainGUI() {
setTitle(app_name);
setSize(window_x_min + 200, window_y_min + 100);
setMinimumSize(new Dimension(window_x_min, window_y_min));
setLocationRelativeTo(null);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
JPanel panel = new JPanel();
this.setContentPane(panel);
panel.setLayout(new MigLayout("","[]","[grow]"));
JSplitPane splitpane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
splitpane.setContinuousLayout(true);
splitpane.setTopComponent(new JButton("middle"));
splitpane.setBottomComponent(new JButton("right"));
JSplitPane splitpane2 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
splitpane2.setContinuousLayout(true);
splitpane.setDividerLocation(450);
splitpane2.setBottomComponent(splitpane);
splitpane2.setTopComponent(new JButton("left"));
panel.add(splitpane2, "push, grow");
this.pack();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
我已經成功地使其加載最初我是怎麼樣,但是有下列問題:
- 從右側改變大小的「正確」的面板,而不是調整大小中間面板
- 從左側調整大小的尺寸改變了「正確」面板的大小以及
看來,應用程序的左側是工作,我需要合適的側部T o功能相同。希望我有道理,謝謝!
謝謝!我很抱歉沒有把主要方法。這是一個簡單的修復,我很感謝您的幫助。 –