📄 chap11-5.txt
字号:
// 程序11-5
import java.awt.*;
import javax.swing.*;
public class testGridLayout{
JFrame frame;
Container contentPane;
GridLayout grid1,grid2; // 定义两个GridLayout引用
JButton buttons[ ];
String names[ ]={"one","two","three","four","five","six"};
boolean change; // 改变布局的标记
public testGridLayout( ){ //构造函数
frame=new subJFrame("testGridLayout");
contentPane=frame.getContentPane( );
grid1=new GridLayout(2,3,5,5); // 定义一个2行3列的布局管理器
grid2=new GridLayout(3,2); // 定义一个3行2列的布局管理器
contentPane.setLayout(grid1); // 设置内容格的布局
fillComponent(contentPane); // 向内容格中添加组件
change=true; // 设置改变标记为true
frame.setSize(220,200);
frame.show( );
}
private void fillComponent(Container c){
buttons=new JButton[names.length];
for(int i=0;i<names.length;i++){
buttons[i]=new JButton(names[i]);
c.add(buttons[i]); // 将按钮加入容器
}
}
public void testGrid( ){
while(true){
try{
Thread.sleep(1000); // 睡眠1秒
}catch(Exception e){
e.printStackTrace( );
}
if(change)
contentPane.setLayout(grid1); // 采用grid1设置内容格的布局
else
contentPane.setLayout(grid2); // 采用grid2设置内容格的布局
change=!change; // 反转标记
contentPane.validate( ); // 使改变后的布局有效
}
}
public static void main(String args[ ]){
testGridLayout obj=new testGridLayout( );
obj.testGrid( );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -