JAVA BorderLayout 设置

2024-12-13 12:39:43
推荐回答(2个)
回答1:

没法控制,这个是布局管理器自动控制的,design当然没法弄。

South、East、West、North四个边角的宽高不会超过一定范围。一个办法就是你把主要的组件放到Center,其他组件手动代码添加。

不过用design很少有人用自动布局管理器的,一般都是setLayout(null),这样才好用。

回答2:

BorderLayout控制大小好像不可以,控制方向到时没问题.
示例:
import java.awt.BorderLayout;

import javax.swing.JButton;
import javax.swing.WindowConstants;

public class Demo2 extends javax.swing.JFrame {
private JButton jButton1;

private JButton jButton2;

private JButton jButton3;

private JButton jButton4;

private JButton jButton5;

public static void main(String[] args) {

Demo2 inst = new Demo2();
inst.setLocationRelativeTo(null);
inst.setVisible(true);

}

public Demo2() {
super();
initGUI();
}

private void initGUI() {
try {
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
jButton1 = new JButton("北");
jButton2 = new JButton("南");
jButton3 = new JButton("东");
jButton4 = new JButton("西");
jButton5 = new JButton("中");
getContentPane().add(jButton1, BorderLayout.NORTH);
getContentPane().add(jButton2, BorderLayout.SOUTH);
getContentPane().add(jButton3, BorderLayout.EAST);
getContentPane().add(jButton4, BorderLayout.WEST);
getContentPane().add(jButton5, BorderLayout.CENTER);

pack();
setSize(400, 300);
} catch (Exception e) {
e.printStackTrace();
}
}

}