java按钮控件数组实现计算器界面示例分享


在Java中,使用按钮控件数组来实现一个简单的计算器界面是一个很好的练习,它能帮助你理解如何使用Swing库来创建图形用户界面(GUI)。下面是一个基本的示例,展示了如何使用`JButton`数组来布局一个简单的计算器界面。

注意,这个示例不会包含计算器背后的逻辑(即按钮点击后的计算),而是专注于界面布局。


import javax.swing.*;
import java.awt.*;

public class CalculatorUI extends JFrame {

    // 定义一个按钮数组来存储所有计算器的按钮
    private JButton[] buttons;

    public CalculatorUI() {
        // 设置窗口标题和关闭操作
        setTitle("简单计算器");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 初始化面板和布局
        JPanel panel = new JPanel();
        panel.setLayout(new GridLayout(5, 4, 5, 5)); // 5行4列,水平和垂直间距都是5

        // 初始化按钮数组并添加到面板
        buttons = new JButton[16]; // 假设有16个按钮
        String[] buttonLabels = {
            "7", "8", "9", "/",
            "4", "5", "6", "*",
            "1", "2", "3", "-",
            "0", ".", "=", "+"
        };

        for (int i = 0; i < buttons.length; i++) {
            buttons[i] = new JButton(buttonLabels[i]);
            panel.add(buttons[i]);
        }

        // 将面板添加到窗口
        add(panel);

        // 设置窗口大小和可见性
        pack(); // 根据组件的首选大小调整窗口大小
        setLocationRelativeTo(null); // 窗口居中
        setVisible(true);
    }

    public static void main(String[] args) {
        // 在事件调度线程中创建和显示GUI,以确保线程安全
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new CalculatorUI();
            }
        });
    }
}

在这个示例中,我创建了一个名为`CalculatorUI`的类,它继承自`JFrame`。在构造函数中,我创建了一个`JPanel`并使用`GridLayout`布局管理器来组织按钮。我定义了一个`JButton`数组`buttons`来存储所有的按钮,并通过循环为它们分配标签,并将它们添加到面板中。最后,我将面板添加到窗口中,并设置了窗口的一些基本属性,如标题、关闭操作、大小和位置。

请注意,这个示例仅仅展示了如何布局计算器的界面,而没有实现任何计算逻辑。如果你想要实现一个完整的计算器,你还需要为每个按钮添加事件监听器,并在事件处理程序中编写计算逻辑。