java簡單計算器怎么帶時間顯示?
網絡資訊 2024-08-03 17:30 355

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環境已正確安裝。
  • 代碼中可能需要根據實際情況調整字體大小和布局。
  • 異常處理在實際開發中非常重要,需要確保程序的健壯性。

標簽:

  • Java
  • 計算器
  • 時間顯示
  • Swing
  • DateAPI
主站蜘蛛池模板: 日韩精品久久无码人妻中文字幕| 色狠台湾色综合网站| 精品欧美日韩一区二区三区| 日韩在线免费电影| 国产精品乳摇在线播放| 亚洲精品视频免费观看| chinese帅哥18kt| 老熟女高潮一区二区三区| 日韩丰满少妇无码内射| 国产成人综合在线视频| 亚洲午夜久久久久妓女影院| 在线视频国产网址你懂的在线视频| 污软件app下载| 夫妇交换性2国语在线观看| 免费视频88av在线| 一区二区三区欧美日韩| 粉色视频在线观看www免费| 少妇中文字幕乱码亚洲影视| 六月婷婷综合激情| √天堂中文在线最新版8下载| 练瑜伽的时候进入| 忘忧草社区中文字幕| 午夜视频在线观看国产www| 中文字幕第6页| 肉色无边(高h)| 我要看特级毛片| 国产**aa全黄毛片| 中文字幕一区日韩精品| 精品香蕉久久久午夜福利| 巨胸喷奶水www视频网站| 免费看欧美一级特黄α大片| japanese中文字幕| 爱情论坛免费在线看| 国产高清精品一区| 亚洲国产成人精品无码区二本 | 精品日韩二区三区精品视频 | 日韩电影免费在线观看网站| 国产大学生粉嫩无套流白浆| 久久乐国产精品亚洲综合| 翘臀少妇被扒开屁股日出水爆乳| 成人h动漫精品一区二区无码|