上一篇 下一篇 分享链接 返回 返回顶部

java简单计算器怎么带时间显示?

发布人:慈云数据-客服中心 发布时间:2024-08-03 17:30 阅读量:87

Java简单计算器带时间显示

简介

在开发一个Java简单计算器时,除了基本的加减乘除功能外,添加时间显示功能可以提升用户体验。本文将介绍如何在Java中实现一个带有时间显示的简单计算器。

功能需求

  1. 基本的四则运算:加、减、乘、除。
  2. 显示当前时间。
  3. 界面友好,操作简单。

技术选型

  • Java Swing:用于构建图形用户界面(GUI)。
  • Java Date API:用于获取和显示当前时间。

实现步骤

1. 创建Swing界面

首先,我们需要创建一个Swing界面,包括按钮、文本框和标签等组件。

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Calculator extends JFrame {
    private JTextField display;
    private String lastCommand;
    private double result;

    public Calculator() {
        setTitle("简单计算器");
        setSize(400, 600);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new BorderLayout());

        // 显示时间的标签
        JLabel timeLabel = new JLabel("时间:", SwingConstants.RIGHT);
        timeLabel.setFont(new Font("Serif", Font.BOLD, 20));
        add(timeLabel, BorderLayout.NORTH);

        // 显示计算结果的文本框
        display = new JTextField();
        display.setFont(new Font("Serif", Font.BOLD, 20));
        display.setEditable(false);
        add(display, BorderLayout.CENTER);

        // 按钮面板
        JPanel buttonPanel = new JPanel();
        buttonPanel.setLayout(new GridLayout(5, 4));
        String[] buttonLabels = {
                "7", "8", "9", "/",
                "4", "5", "6", "*",
                "1", "2", "3", "-",
                "0", ".", "=", "+"
        };
        for (String label : buttonLabels) {
            JButton button = new JButton(label);
            button.setFont(new Font("Serif", Font.BOLD, 20));
            buttonPanel.add(button);
            button.addActionListener(new ButtonClickListener());
        }
        add(buttonPanel, BorderLayout.SOUTH);

        // 定时器更新时间
        Timer timer = new Timer(1000, new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                updateTime();
            }
        });
        timer.start();
    }

    private void updateTime() {
        display.setText("时间:" + new java.util.Date().toString());
    }

    private class ButtonClickListener implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent e) {
            JButton button = (JButton) e.getSource();
            String input = button.getText();
            if (input.equals("+") || input.equals("-") || input.equals("*") || input.equals("/")) {
                lastCommand = input;
                display.setText("");
            } else if (input.equals("=")) {
                calculate();
            } else {
                display.setText(display.getText() + input);
            }
        }
    }

    private void calculate() {
        try {
            double number = Double.parseDouble(display.getText());
            switch (lastCommand) {
                case "+":
                    result += number;
                    break;
                case "-":
                    result -= number;
                    break;
                case "*":
                    result *= number;
                    break;
                case "/":
                    result /= number;
                    break;
            }
            display.setText("" + result);
        } catch (NumberFormatException ex) {
            display.setText("错误");
        }
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Calculator().setVisible(true);
            }
        });
    }
}

2. 实现时间显示

在上述代码中,我们使用Timer类创建了一个定时器,每隔1000毫秒(1秒)更新时间标签的显示。

3. 四则运算逻辑

通过监听按钮点击事件,根据用户输入的数字和运算符进行计算。

4. 运行程序

运行main方法,将显示一个包含时间显示的简单计算器窗口。

总结

通过上述步骤,我们成功实现了一个带有时间显示的Java简单计算器。这个计算器不仅能够进行基本的四则运算,还能实时显示当前时间,提高了用户的使用体验。在实际开发中,可以根据需求进一步扩展功能,如添加历史记录、科学计算等。

注意事项

  • 确保Java环境已正确安装。
  • 代码中可能需要根据实际情况调整字体大小和布局。
  • 异常处理在实际开发中非常重要,需要确保程序的健壮性。
目录结构
全文
九月精选特惠,用云无优!

1.充值活动
2000元赠送150元余额
3000元赠送200元余额
5000元赠送450元余额
10000元赠送1000元余额
2.香港云服务器·买1年送3个月
(仅香港云服务器1区和4区有效)
本活动商品及充值活动不支持退款;2、续费下单后两小时内生效!
活动仅9月2号至9月30号前有效!

查看详情 关闭
九月活动