FlowLayout 流式布局,从左到右,如果到边界就换行再从左到右。
创新互联公司自成立以来,一直致力于为企业提供从网站策划、网站设计、成都做网站、成都网站建设、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
BorderLayout 边界布局(默认布局方式),按东西南北中五个方向来布局,默认是中。后设置在同样位置的控件会覆盖之前的控件。
GridLayout 网格布局,将容器划分成若干行列的网格,从左到右,然后从上到下。每个控件的大小相同。
lz 你好
具体代码如下:
import java.awt.*;
import javax.swing.*;
public class Test extends JFrame{
private JPanel panel_1,panel_2;
private JButton[] button_1,button_2;
public Test(){
super("Test");
button_1 = new JButton[3];
button_2 = new JButton[3];
panel_1 = new JPanel(new GridLayout(3,2));
panel_2 = new JPanel(new GridLayout(3,2));
for (int i = 0; i 3; i++) {
button_1[i] = new JButton("Panel_1:"+(i+1));
button_2[i] = new JButton("Panel_2:"+(i+4));
panel_1.add(button_1[i]);
panel_2.add(button_2[i]);
}
setLayout(new FlowLayout(FlowLayout.CENTER,5,30));
getContentPane().add(panel_1);
getContentPane().add(panel_2);
setLocation(400,150);
setSize(200,300);
setVisible(true);
setDefaultCloseOperation(3);
}
public static void main(String[] args) {
new Test();
}
}
希望能帮助你哈
center.setLayout(new GridLayout(3,4)); 你这个是3行4列 也就是能放12个的 但是你却放了16个button 当然不行啦
class MainFrame extends JFrame{
MainFrame(){
super("布局");
setSize(600,600);
setLocationRelativeTo(null);
seDefaultCloseOperation(3);
JLabel info=new JLabel("个人资料");
JPanel w=new JPanel();
JPanel c=new JPanel();
add(info,BorderLayout.NORTH);
add(w,BorderLayout.WEST);
add(c,BorderLayout.CENTER);
w.setLayout(new GridLayout(7,1,10,10));
//c也一样处理
JLabel a[7];
JTextField t[7];
for(int i=0;i7;i ){
a[i]=new JLabel();
t[i]= new JTextField();
w.add(a[i]);
c.add(t[i]);
}
a[0].setText("姓名:");
//剩下的自己加上去就行
}
//省略主方法
}