总结:在使用边界布局发现,把所有的按钮组件都放入了panel.但是在中部的按钮组件找不到了。发现自己重复用了组件
1.this.add(bt4,BorderLayout.North);
2.panel.add(bt4,BorderLayout.North);
this.add(panel);
这里的1和2的不同点是,前者直接放在frame里。
后者是放在面板里,但是它会造成按钮组件根本看不到
package clientFrame;
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JFrame;
public class Bian extends JFrame {
JPanel panel;
JButton bt1, bt2, bt3, bt4, bt5;
public Bian() {
bt1 = new JButton("确定");
bt2 = new JButton("取消");
bt3 = new JButton("退");
bt4 = new JButton("选择");
bt5 = new JButton("哈哈哈");
// 开始布局
this.getContentPane().setBackground(Color.red);
panel = new JPanel();
this.add(bt1, BorderLayout.NORTH);
// panel.add(bt2,BorderLayout.SOUTH);//不长脑子,不知道自己要达到什么目的,怎么写》全错误,怎么能把按钮都放进同一个panel里面,
this.add(bt1, BorderLayout.EAST);
this.add(bt2, BorderLayout.WEST);
this.add(bt3, BorderLayout.NORTH);
this.add(bt4, BorderLayout.SOUTH);
this.add(bt5, BorderLayout.CENTER);
// this.add(panel);你妹,记住前面用了 this.后面就不需要用add(panel)这样导致中部的按钮组件无法显示
this.setVisible(true);
this.setSize(599, 490);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
Bian b = new Bian();
}
}