java簡單計算器怎么帶時間顯示?
網絡資訊
2024-08-03 17:30
355
Java簡單計算器帶時間顯示
簡介
在開發一個Java簡單計算器時,除了基本的加減乘除功能外,添加時間顯示功能可以提升用戶體驗。本文將介紹如何在Java中實現一個帶有時間顯示的簡單計算器。
功能需求
- 基本的四則運算:加、減、乘、除。
- 顯示當前時間。
- 界面友好,操作簡單。
技術選型
- 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