`

实例047 - 按钮控件数组实现计算器界面

 
阅读更多

心法领悟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]); // 将按钮添加到面板中
            }
        }
    }
}

 

 

  • 大小: 9.8 KB
分享到:
评论

相关推荐

    Java经典编程源码基础例程300.zip

    实例035 使用按钮控件数组实现 计算器界面 51 实例036 通过复选框控件数组实现 添加多个复选框控件 52 实例037 使用选择排序法对数组排序 53 实例038 使用冒泡排序法对数组排序 55 实例039 使用快速排序法对数组排序...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    11.1 按钮控件的使用 291 实例216 轻松打造绚丽按钮 291 实例217 给Button控件创建快捷键 292 实例218 使Button控件大小自动适应文本长度 293 实例219 得到鼠标焦点后自动放大的Button按钮 294 实例220 动态创建多个...

    c#做的小程序 给大家分享

     实例46 计算器界面设计  实例47 计算器功能实现  实例48 小闹钟  小结 第3章 图形与图像处理  实例49 简单画图  实例50 使用OnPaint绘制图形  实例51 绘制贝赛尔曲线  实例52 显示图像  实例53 ...

    Visual C#.NET编程精粹150例.rar

     实例46 计算器界面设计  实例47 计算器功能实现  实例48 小闹钟  小结 第3章 图形与图像处理  实例49 简单画图  实例50 使用OnPaint绘制图形  实例51 绘制贝赛尔曲线  实例52 显示图像  实例53 ...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例047 按钮控件数组实现计数器界面 58 实例048 复选框控件数组 59 实例049 用数组反转字符串 60 3.3 数组排序与查询 61 实例050 使用选择排序法 61 实例051 使用冒泡排序法 62 实例052 使用快速排序法 64 实例053 ...

    C#程序开发范例宝典(第2版).part13

    实例047 禁用窗口上的关闭按钮 52 实例048 实现动态系统托盘图标 53 实例049 实现气泡提示窗口 54 第2章 控件应用 56 2.1 TextBox控件应用 57 实例050 只允许输入数字的TextBox控件 57 实例051 在TextBox控件...

    C#程序开发范例宝典(第2版).part08

    实例047 禁用窗口上的关闭按钮 52 实例048 实现动态系统托盘图标 53 实例049 实现气泡提示窗口 54 第2章 控件应用 56 2.1 TextBox控件应用 57 实例050 只允许输入数字的TextBox控件 57 实例051 在TextBox控件...

    C#程序开发范例宝典(第2版).part02

    实例047 禁用窗口上的关闭按钮 52 实例048 实现动态系统托盘图标 53 实例049 实现气泡提示窗口 54 第2章 控件应用 56 2.1 TextBox控件应用 57 实例050 只允许输入数字的TextBox控件 57 实例051 在TextBox控件...

    C#程序开发范例宝典(第2版).part12

    实例047 禁用窗口上的关闭按钮 52 实例048 实现动态系统托盘图标 53 实例049 实现气泡提示窗口 54 第2章 控件应用 56 2.1 TextBox控件应用 57 实例050 只允许输入数字的TextBox控件 57 实例051 在TextBox控件...

Global site tag (gtag.js) - Google Analytics