我想让我的屏幕一分为二,所以我使用了带有东西部分的 BorderLayout。我在调整大小时遇到了问题,在这里我最终发现东西面板的宽度没有改变,北面板和南面板的高度没有改变,并且两者都在中心面板中发生了变化。
但是,我希望在调整大小时同时更改宽度和高度,并并排放置两个面板。我尝试了各种级别的嵌套来尝试让它工作,但我认为它不适用于 BorderLayout。
对于默认布局管理器来说,这似乎应该很容易,但也许我应该尝试不同的布局(例如 BoxLayout)来实现我想要的。
这里还有一些代码可以复制我正在谈论的问题(尝试调整窗口大小):
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JFrame {
public static void main(String[] args) {
JFrame window = new Main();
window.setVisible(true);
}
public Main() {
JButton east = new JButton("East");
JButton west = new JButton("West");
JPanel content = new JPanel();
content.setLayout(new BorderLayout());
content.add(east, BorderLayout.EAST);
content.add(west, BorderLayout.WEST);
setContentPane(content);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
}
}
编辑:我不希望两边相等,大约 2:1 是我想要的比例。