gpt4 book ai didi

Java Swing : Changing border width/height on BorderLayout

转载 作者:搜寻专家 更新时间:2023-11-01 02:52:04 25 4
gpt4 key购买 nike

我是 Java Swing 的新手。我正在尝试制作一个包含三个按钮的框架;一个在中间,另一个在顶部,最后一个在右边。我想让 NORTH 和 EAST 边界的宽度相同。但是现在,东部边界比北部边界宽。

我想知道是否有一种方法可以在 BorderLayout 中更改西/东边框的宽度或北/南边框的高度。

最佳答案

假设您已经在使用 BorderLayout,您可以使用面板来控制框架的布局并创建边框感觉。然后,您可以使用 setPreferredSize(new Dimension(int, int)) 请求首选尺寸,其中 (int, int) 分别是宽度和高度。边框的代码看起来像这样:

JPanel jLeft = new JPanel();
JPanel jRight = new JPanel();
JPanel jTop = new JPanel();
JPanel jBottom = new JPanel();

add(jLeft, "West");
jLeft.setPreferredSize(new Dimension(40, 480));

add(jRight, "East");
jRight.setPreferredSize(new Dimension(40, 480));

add(jTop, "North");
jTop.setPreferredSize(new Dimension(640, 40));

add(jBottom, "South");
jBottom.setPreferredSize(new Dimension(640, 40));

上面的示例要求所有边框具有相同的厚度,因为东西边框的宽度与南北边框的高度相匹配。这适用于大小为 (640, 480) 的框架。然后,您可以使用如下方式将按钮添加到框架中:

JButton button = new JButton();
jTop.add(button);
button.setPreferredSize(new Dimension(60, 20));

您可以在此处找到 setPreferredSize 用法的另一个很好的示例:https://stackoverflow.com/a/17027872

关于Java Swing : Changing border width/height on BorderLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9315982/

25 4 0