在窗口的中心位置添加了一个选项窗格,该选项窗格里添加了一个网格布局面板和一个空布局面板。
public class Example9_4 {
public static void main(String[] args) {
new ShowLayout();
}
}
import java.awt.*;
import javax.swing.*;
public class ShowLayout extends JFrame{
PanelGridLayout pannelGrid;
PanelNullLayout panelNull;
JTabbedPane p;
ShowLayout(){
pannelGrid = new PanelGridLayout();
panelNull = new PanelNullLayout();
p = new JTabbedPane();
p.add("网格布局的面板", pannelGrid);
p.add("空布局的面板",panelNull);
add(p,BorderLayout.CENTER);
add(new JButton("窗体是BorderLayout布局"),BorderLayout.NORTH);
add(new JButton("南"),BorderLayout.SOUTH);
add(new JButton("西"),BorderLayout.WEST);
add(new JButton("北"),BorderLayout.EAST);
setBounds(10,10,570,390);
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
validate();
}
}
import java.awt.*;
import javax.swing.*;
public class PanelGridLayout extends JPanel{
PanelGridLayout(){
GridLayout grid = new GridLayout(12,12);
setLayout(grid);
Label label[][] = new Label[12][12];
for(int i=0;i<12;i++) {
for(int j=0;j<12;j++) {
label[i][j]=new Label();
if((i+j)%2==0)
label[i][j].setBackground(Color.black);
else
label[i][j].setBackground(Color.white);
add(label[i][j]);
}
}
}
}
import javax.swing.*;
public class PanelNullLayout extends JPanel {
JButton button;
JTextField text;
PanelNullLayout(){
setLayout(null);
button = new JButton("确定");
text = new JTextField();
add(text);
text.setBounds(100,30,90,30);
button.setBounds(190,30,66,30);
}
}
运行结果:

