请选择 进入手机版 | 继续访问电脑版

建站师

 找回密码
 立即注册

QQ登录

只需一步,快速开始

国内外搜索引擎大全

按钮控件数组实现计数器界面 - 数组操作

[复制链接]
建站师 发表于 2017-5-17 10:55:29 | 显示全部楼层 |阅读模式
实例说明
数组的应用范围非常广泛,灵活运用的话可以提高程序开发效率,减少重复代码。例如本实例通过按钮数组来管理界面中的所有按钮控件,从而使用最少的代码实现了模拟的计算器界面。程序运行效果如图1所示。

关键技术
本实例的关键点在于GridLayout布局管理器的应用,通过它可以自动完成控件的布局与大小控制,否则,程序还要单独创建控制每个控件位置与大小的代码,其代码复杂度可想而知。通过GridLayout布局管理器,只需要指定布局的行列数量就可以了。下面介绍一下GUI如何使用GridLayout布局管理器。
q        创建指定行列数量的布局管理器
可以在GridLayout类的构造方法中传递两个int类型的参数分别指定布局的行数与列数,其方法声明如下:

  1. public GridLayout(int rows, int cols)
复制代码
参数说明:
? rows:布局的行数
? cols:布局的列数
q        设置容器的布局管理器
创建容器布局管理器后,可以把它添加到某个容器的layout属性中,这需要调用容器的设置布局管理器的方法来实现,其语法声明如下:
  1. public GridLayout(int rows, int cols)
复制代码
参数说明:
? rows:布局的行数
? cols:布局的列数
q        设置容器的布局管理器
创建容器布局管理器后,可以把它添加到某个容器的layout属性中,这需要调用容器的设置布局管理器的方法来实现,其语法声明如下:
  1. public void setLayout(LayoutManager mgr)
复制代码
参数说明:
mgr:布局管理器对象
实现过程
在项目中创建ButtonArrayExample窗体类。在窗体中添加一个文本框控件用于模拟计算器的液晶屏,然后在构造方法中设置窗体标题,布局管理器,并创建JButton控件的二维数组,其中每个数组元素都初始化为一个按钮控件,同时在声明一个按钮名称的字符串数组,这两个数组共同初始化界面中的所有按钮控件。关键代码如下:
  1. public ButtonArrayExample() {
  2.     super(); // 继承父类的构造方法
  3.     BorderLayout borderLayout = (BorderLayout) getContentPane().getLayout();
  4.     borderLayout.setHgap(20);
  5.     borderLayout.setVgap(10);
  6.     setTitle("按钮数组实现计算器界面"); // 设置窗体的标题
  7.     setBounds(100, 100, 290, 282); // 设置窗体的显示位置及大小
  8.     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗体关闭按钮的动作为退出
  9.     textField = new JTextField();
  10.     textField.setHorizontalAlignment(SwingConstants.TRAILING);
  11.     textField.setPreferredSize(new Dimension(12, 50));
  12.     getContentPane().add(textField, BorderLayout.NORTH);
  13.     textField.setColumns(10);
  14.     final GridLayout gridLayout = new GridLayout(4, 0); // 创建网格布局管理器对象
  15.     gridLayout.setHgap(5); // 设置组件的水平间距
  16.     gridLayout.setVgap(5); // 设置组件的垂直间距
  17.     JPanel panel = new JPanel(); // 获得容器对象
  18.     panel.setLayout(gridLayout); // 设置容器采用网格布局管理器
  19.     getContentPane().add(panel, BorderLayout.CENTER);
  20.     String[][] names = { { "1", "2", "3", "+" }, { "4", "5", "6", "-" },
  21.             { "7", "8", "9", "×" }, { ".", "0", "=", "÷" } };
  22.     JButton[][] buttons = new JButton[4][4];
  23.     for (int row = 0; row < names.length; row++) {
  24.         for (int col = 0; col < names.length; col++) {
  25.             buttons[row][col] = new JButton(names[row][col]); // 创建按钮对象
  26.             panel.add(buttons[row][col]); // 将按钮添加到面板中
  27.         }
  28.     }
  29. }
复制代码
秘笈心法
心法领悟047:用数组管理重复类型的数据
程序开发中有很多数据像本实例的界面设计一样有很多重复类型的数据,在界面设计器中可以清晰的看出重复性的按钮控件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

我的上网主页|Sitemap|vb6|中国站长网|编程论坛|百度|Google|标签|Archiver|小黑屋|建站师  

GMT+8, 2018-9-21 08:50 , Processed in 0.140912 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表