我有一个带有BoxLayout的JFrame,分为2列。理想情况下我希望如此,当鼠标悬停在分界线上时,我可以单击并拖动该行以动态更改布局的大小。是否有工具或更好的方法来做到这一点?
答案 0 :(得分:2)
使用JSplitPane作为contentPane
的{{1}}是更好的方法。
答案 1 :(得分:1)
如上所述,使用JSplitPane。见下面的例子
public class SplitPaneDemo extends JFrame {
public static void main(String[] args) {
EventQueue.invokeLater(() -> new SplitPaneDemo());
}
SplitPaneDemo() {
super("SplitPaneDemo");
JLabel lhs = new JLabel("LHS");
lhs.setPreferredSize(new Dimension(320, 200));
JLabel rhs = new JLabel("RHS");
rhs.setPreferredSize(new Dimension(320, 200));
JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
splitPane.setContinuousLayout(true); // Update window as splitter is moved
splitPane.setLeftComponent(lhs);
splitPane.setRightComponent(rhs);
setContentPane(splitPane);
pack();
setVisible(true);
}
}