本文共 2076 字,大约阅读时间需要 6 分钟。
任何窗口都可以被分解成一个空的容器,容器中盛放了大量的基本组件,通过设置这些基本组件的大小、位置等属性,就可以将该空的容器和基本组件组成一个整体的窗口。
具体实现思路如下:
这里提供两种代码组织方式:
import java.awt.BorderLayout;import java.awt.Button;import java.awt.Frame;import java.awt.GridLayout;import java.awt.Panel;import java.awt.TextField;import javax.swing.JFrame;
public class GridLayoutTest { public static void main(String[] args) { JFrame f = new JFrame("计算器"); Panel p1 = new Panel(); p1.add(new TextField(30)); f.add(p1, BorderLayout.NORTH); Panel p2 = new Panel(); p2.setLayout(new GridLayout(3, 5, 4, 4)); String[] name = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "+", "-", "*", "/"}; for (int i = 0; i < name.length; i++) { p2.add(new Button(name[i])); } f.add(p2); f.pack(); f.setVisible(true); }}
import java.awt.BorderLayout;import java.awt.Button;import java.awt.GridLayout;import java.awt.Panel;import java.awt.TextField;import javax.swing JFrame;
public class DialogTest { JFrame f = new JFrame("计算器"); Panel p1 = new Panel(); public void init() { p1.add(new TextField(30)); f.add(p1, BorderLayout.NORTH); Panel p2 = new Panel(); p2.setLayout(new GridLayout(3, 5, 4, 4)); String[] name = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "+", "-", "*", "/"}; for (int i = 0; i < name.length; i++) { p2.add(new Button(name[i])); } f.add(p2); f.pack(); f.setVisible(true); } public static void main(String[] args) { new DialogTest().init(); }}
以上两种代码组织方式都可以实现类似功能,但如果需要代码结构更清晰,建议使用第二种方式(通过init方法创建界面)。
转载地址:http://hbryk.baihongyu.com/