夏晓静4/12第一次创新代码效果修改

pull/1/head
羊驼想睡觉 1 year ago
parent 32cddc72b5
commit fce2a2f13b

@ -11,11 +11,8 @@ import java.math.BigInteger;
//import java.awt.event.KeyEvent;
import java.math.BigDecimal;//控制小数点后几位
import java.awt.*
;
import java.util.ArrayList;
@SuppressWarnings("unused")
public class Calculator extends JFrame implements ActionListener {
;@SuppressWarnings("unused")
public class Calculator implements ActionListener {
private JFrame frame = new JFrame();//界面应用程序,窗口
@ -32,12 +29,6 @@ public class Calculator extends JFrame implements ActionListener {
char charA;
// 历史记录面板及相关组件
private JPanel historyPanel = new JPanel();
private JTextArea historyTextArea = new JTextArea();
private JButton historyButton = new JButton("历史记录");
private ArrayList<String> historyList = new ArrayList<>(); // 历史记录列表
public Calculator() {//本类Calculator的构造函数
init(); // 初始化计算器
@ -47,34 +38,10 @@ public class Calculator extends JFrame implements ActionListener {
frame.setResizable(true); // 允许修改计算器窗口的大小
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//点击关闭按钮后执行exit退出应用程序
addHistoryPanel(); // 添加历史记录面板
this.add(historyButton); // 将历史记录按钮添加到计算器界面中
}
// 添加历史记录面板
private void addHistoryPanel() {
// 设置历史记录面板
historyPanel.setLayout(new BorderLayout());
historyPanel.setPreferredSize(new Dimension(300, 150));
historyPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
// 设置历史记录文本区域
historyTextArea.setEditable(false);
JScrollPane historyScrollPane = new JScrollPane(historyTextArea);
historyScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
// 将历史记录文本区域添加到历史记录面板中
historyPanel.add(historyScrollPane, BorderLayout.CENTER);
historyPanel.setVisible(false); // 初始时不可见
}
private void init() {//初始化变量,创建面板,添加按钮,面板布局
// 初始化历史记录按钮
historyButton.setPreferredSize(new Dimension(130, 30));
historyButton.setFont(new Font(Font.SERIF, Font.PLAIN, 14));
historyButton.addActionListener(this);
private void init() {//初始化变量,创建面板,添加按钮,面板布局
Color color1 = new Color(181, 181, 181);
Color color2 = new Color(126, 192, 238); //等于号专属颜色
Color color3 = new Color(232, 232, 232); //背景颜色//功能键和运算符颜色
@ -154,27 +121,7 @@ public class Calculator extends JFrame implements ActionListener {
button[i].addActionListener(this);//为各按钮添加事件监听器,都使用同一个事件监听器
}
}
// 显示历史记录面板
private void showHistory() {
// TODO: 在这里获取历史记录并显示在历史记录文本区域中
// 这部分逻辑需要根据你保存历史记录的方式来实现
// 假设你有一个历史记录列表 historyList可以通过遍历列表并将记录添加到 historyTextArea 中来展示历史记录
historyTextArea.setText(""); // 清空历史记录文本区域
// 假设 historyList 是你保存历史记录的列表
for (String record : historyList) {
historyTextArea.append(record + "\n");
}
// 显示历史记录面板
historyPanel.setVisible(true);
}
public void actionPerformed(ActionEvent ev){//监听函数,将得到的事件选择对应的函数
// 历史记录按钮事件处理
if (ev.getSource() == historyButton) {
showHistory(); // 显示历史记录面板
}
String command = ev.getActionCommand();//获取事件源
if (command.equals(keys[3])) doBackspace();//用户按了"Back"鍵键
else if (command.equals(keys[1])) resultText.setText("0");//用户按了"CE"键

Loading…
Cancel
Save