java简单计算器怎么带时间显示?
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环境已正确安装。
- 代码中可能需要根据实际情况调整字体大小和布局。
- 异常处理在实际开发中非常重要,需要确保程序的健壮性。