java学习——54.混合布局

在此篇之前,已经介绍了四种布局方式,流布局,边布局,网格布局和网格包布局。

(详情请看java学习——52、网格包布局;java学习——51、网格布局;java学习——50、边布局;java学习——49、流布局)

在实际的应用当中,可以灵活运用这四种布局方式的一种或多种,使界面更合乎用户的需要。

以“计算器”为例,本例用到了两种布局方式。

一种是Frame的默认布局:边布局。

一种是在面板中设置的:网格布局。

其完整代码如下:

import java.awt.*;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

public class Calculato extends Frame{

TextField text;

Button button[];

public Calculato(){

super("计算器");

this.setBounds(200, 200, 200, 200);

this.setVisible(true);

text=new TextField(30);

this.add(text,"North");//Frame框架默认边布局

Panel p1=new Panel();

p1.setLayout(new GridLayout(4,4));//p1面板采用网格布局

String s[]={"+","-","*","/","1","2","3","4","5","6","7","8","9","0","=","CE"};

button=new Button[s.length];

for(int i=0;i<s.length;i++){

button[i]=new Button(s[i]);

p1.add(button[i]);

}

this.add(p1);

this.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});//关闭窗口

}

public static void main(String args[]){

new Calculato();

}

}

其运行结果如下:

本例中,采用循环添加按钮,就不用再一个一个按钮去添加。

用数组为按钮上的文本赋值。

(0)

相关推荐