心法领悟047:用数据管理重复类型的数据。
import java.awt.Container; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.UIManager; import javax.swing.JTextField; import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.SwingConstants; public class ButtonArrayExample extends JFrame { // 继承窗体类JFrame /** * */ private static final long serialVersionUID = 6626440733001287873L; private JTextField textField; public static void main(String args[]) { try { UIManager .setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); } catch (Throwable e) { e.printStackTrace(); } ButtonArrayExample frame = new ButtonArrayExample(); frame.setVisible(true); // 设置窗体可见,默认为不可见 } public ButtonArrayExample() { super(); // 继承父类的构造方法 BorderLayout borderLayout = (BorderLayout) getContentPane().getLayout(); borderLayout.setHgap(20); borderLayout.setVgap(10); setTitle("按钮数组实现计算器界面 "); // 设置窗体的标题 setBounds(100, 100, 290, 282); // 设置窗体的显示位置及大小 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗体关闭按钮的动作为退出 textField = new JTextField(); textField.setHorizontalAlignment(SwingConstants.TRAILING); textField.setPreferredSize(new Dimension(12, 50)); getContentPane().add(textField, BorderLayout.NORTH); textField.setColumns(10); final GridLayout gridLayout = new GridLayout(4, 0); // 创建网格布局管理器对象 gridLayout.setHgap(5); // 设置组件的水平间距 gridLayout.setVgap(5); // 设置组件的垂直间距 JPanel panel = new JPanel(); // 获得容器对象 panel.setLayout(gridLayout); // 设置容器采用网格布局管理器 getContentPane().add(panel, BorderLayout.CENTER); String[][] names = { { "1", "2", "3", "+" }, { "4", "5", "6", "-" }, { "7", "8", "9", "×" }, { ".", "0", "=", "÷" } }; JButton[][] buttons = new JButton[4][4]; for (int row = 0; row < names.length; row++) { for (int col = 0; col < names.length; col++) { buttons[row][col] = new JButton(names[row][col]); // 创建按钮对象 panel.add(buttons[row][col]); // 将按钮添加到面板中 } } } }
相关推荐
实例035 使用按钮控件数组实现 计算器界面 51 实例036 通过复选框控件数组实现 添加多个复选框控件 52 实例037 使用选择排序法对数组排序 53 实例038 使用冒泡排序法对数组排序 55 实例039 使用快速排序法对数组排序...
11.1 按钮控件的使用 291 实例216 轻松打造绚丽按钮 291 实例217 给Button控件创建快捷键 292 实例218 使Button控件大小自动适应文本长度 293 实例219 得到鼠标焦点后自动放大的Button按钮 294 实例220 动态创建多个...
实例46 计算器界面设计 实例47 计算器功能实现 实例48 小闹钟 小结 第3章 图形与图像处理 实例49 简单画图 实例50 使用OnPaint绘制图形 实例51 绘制贝赛尔曲线 实例52 显示图像 实例53 ...
实例46 计算器界面设计 实例47 计算器功能实现 实例48 小闹钟 小结 第3章 图形与图像处理 实例49 简单画图 实例50 使用OnPaint绘制图形 实例51 绘制贝赛尔曲线 实例52 显示图像 实例53 ...
实例047 按钮控件数组实现计数器界面 58 实例048 复选框控件数组 59 实例049 用数组反转字符串 60 3.3 数组排序与查询 61 实例050 使用选择排序法 61 实例051 使用冒泡排序法 62 实例052 使用快速排序法 64 实例053 ...
实例047 禁用窗口上的关闭按钮 52 实例048 实现动态系统托盘图标 53 实例049 实现气泡提示窗口 54 第2章 控件应用 56 2.1 TextBox控件应用 57 实例050 只允许输入数字的TextBox控件 57 实例051 在TextBox控件...
实例047 禁用窗口上的关闭按钮 52 实例048 实现动态系统托盘图标 53 实例049 实现气泡提示窗口 54 第2章 控件应用 56 2.1 TextBox控件应用 57 实例050 只允许输入数字的TextBox控件 57 实例051 在TextBox控件...
实例047 禁用窗口上的关闭按钮 52 实例048 实现动态系统托盘图标 53 实例049 实现气泡提示窗口 54 第2章 控件应用 56 2.1 TextBox控件应用 57 实例050 只允许输入数字的TextBox控件 57 实例051 在TextBox控件...
实例047 禁用窗口上的关闭按钮 52 实例048 实现动态系统托盘图标 53 实例049 实现气泡提示窗口 54 第2章 控件应用 56 2.1 TextBox控件应用 57 实例050 只允许输入数字的TextBox控件 57 实例051 在TextBox控件...