
解锁尊贵会员之门,开启个性化服务新纪元。享受专属优惠,畅游无界限的数字世界,让每一刻都成为不凡体验。
携手合作伙伴,实现业务上的双向合作共赢
我们为您提供全方位的支持与服务,确保您在使用我们的云服务时无忧无虑。
10+年商誉沉淀,深耕中国香港及海外高端资源
在开发一个Java简单计算器时,除了基本的加减乘除功能外,添加时间显示功能可以提升用户体验。本文将介绍如何在Java中实现一个带有时间显示的简单计算器。
首先,我们需要创建一个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);
}
});
}
}
在上述代码中,我们使用Timer
类创建了一个定时器,每隔1000毫秒(1秒)更新时间标签的显示。
通过监听按钮点击事件,根据用户输入的数字和运算符进行计算。
运行main
方法,将显示一个包含时间显示的简单计算器窗口。
通过上述步骤,我们成功实现了一个带有时间显示的Java简单计算器。这个计算器不仅能够进行基本的四则运算,还能实时显示当前时间,提高了用户的使用体验。在实际开发中,可以根据需求进一步扩展功能,如添加历史记录、科学计算等。
电子邮箱:
ciyunidc@ciyunshuju.comTelegram:
https://t.me/vpsidc2025商务QQ:
851239876公司地址:
中山市火炬开发区江陵西路2号4幢5层B区593客服微信
微信群