diff --git a/src/Calculator.java b/src/Calculator.java index 236a746..3da4c96 100644 --- a/src/Calculator.java +++ b/src/Calculator.java @@ -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 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); - 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"键