From 1a453e0924be781c7d6cddf8348dc77da9c19dd4 Mon Sep 17 00:00:00 2001 From: pcwo73qhm <3493721163@qq.com> Date: Fri, 12 Apr 2024 22:36:37 +0800 Subject: [PATCH 1/3] ADD file via upload --- src%2FSystem%2Fsrc/CalculatorWindow.java | 165 +++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 src%2FSystem%2Fsrc/CalculatorWindow.java diff --git a/src%2FSystem%2Fsrc/CalculatorWindow.java b/src%2FSystem%2Fsrc/CalculatorWindow.java new file mode 100644 index 0000000..6684758 --- /dev/null +++ b/src%2FSystem%2Fsrc/CalculatorWindow.java @@ -0,0 +1,165 @@ +import javax.swing.*; +import java.awt.*; + +public class CalculatorWindow extends JFrame { + Computer computer; + JButton numberButtons[]; + JButton operatorButton[]; + //加减乘除按钮 + JButton dot,fu,back,equation,clear,sqrt,reciprocal; + JTextField resultShow; + //显示计算结果 + JTextField showTempResult; + //临时结果 + JLabel showOperator; + //运算符 + JTextField showDataItem; + //当前参与运算的数据项 + JTextArea computerProcess; + //计算步骤 + JButton saveBtn,copyBtn,clearTextBtn; + public CalculatorWindow() throws HeadlessException { + computer=new Computer(); + initView();//设置界面 + initActionListener();//注册监视器 + } + public void initView(){ + this.setTitle("计算器"); + JPanel left,right; + resultShow=new JTextField(10); + resultShow.setHorizontalAlignment(JTextField.LEFT); + resultShow.setForeground(Color.blue); + resultShow.setFont(new Font("TimesRoman",Font.BOLD,14)); + resultShow.setEditable(false); + resultShow.setBackground(Color.lightGray); + + showTempResult=new JTextField(); + showTempResult.setHorizontalAlignment(JTextField.RIGHT); + showTempResult.setFont(new Font("Arial",Font.BOLD,14)); + showTempResult.setEditable(false); + + showOperator=new JLabel(); + showOperator.setHorizontalAlignment(JTextField.CENTER); + showOperator.setFont(new Font("Arial",Font.BOLD,18)); + + showDataItem=new JTextField(); + showDataItem.setHorizontalAlignment(JTextField.LEFT); + showDataItem.setBackground(Color.white); + showDataItem.setFont(new Font("Arial",Font.BOLD,14)); + showDataItem.setEditable(false); + + computerProcess=new JTextArea(); + computerProcess.setEditable(false); + computerProcess.setFont(new Font("宋体",Font.PLAIN,14)); + + numberButtons=new JButton[10]; + for (int i = 0; i <=9; i++) { + numberButtons[i]=new JButton(" "+i); + numberButtons[i].setFont(new Font("Arial",Font.BOLD,20)); + } + operatorButton=new JButton[4]; + String s[]={"+","-","*","/"}; + for (int i = 0; i < 4; i++) { + operatorButton[i]=new JButton(s[i]); + operatorButton[i].setFont(new Font("Arial",Font.BOLD,20)); + } + dot=new JButton("."); + fu=new JButton("+/-"); + equation=new JButton("="); + back=new JButton("退格"); + clear=new JButton("C"); + sqrt=new JButton("sqrt"); + reciprocal=new JButton("1/x"); + saveBtn=new JButton("保存"); + copyBtn=new JButton("复制"); + clearTextBtn=new JButton("清除"); + + left=new JPanel(); + right=new JPanel(); + + //左边布局 + left.setLayout(new BorderLayout()); + //BorderLayout 容器分为五个部分(东南西北中),每部分只能包含一个组件 + JPanel centerInLeft=new JPanel(); + Box box=Box.createHorizontalBox(); + //创建水平排列组件的Box + box.add(showTempResult); + box.add(showOperator); + box.add(showDataItem); + left.add(box,BorderLayout.NORTH); + left.add(centerInLeft,BorderLayout.CENTER); + centerInLeft.setLayout(new GridLayout(5,5)); + //GridLayout 网格布局5行5列 + centerInLeft.add(numberButtons[1]); + centerInLeft.add(numberButtons[2]); + centerInLeft.add(numberButtons[3]); + centerInLeft.add(operatorButton[0]); + centerInLeft.add(back); + + centerInLeft.add(numberButtons[4]); + centerInLeft.add(numberButtons[5]); + centerInLeft.add(numberButtons[6]); + centerInLeft.add(operatorButton[1]); + centerInLeft.add(clear); + + centerInLeft.add(numberButtons[7]); + centerInLeft.add(numberButtons[8]); + centerInLeft.add(numberButtons[9]); + centerInLeft.add(operatorButton[2]); + centerInLeft.add(reciprocal); + + centerInLeft.add(numberButtons[0]); + centerInLeft.add(fu); + centerInLeft.add(dot); + centerInLeft.add(operatorButton[3]); + centerInLeft.add(sqrt); + + for (int i = 0; i < 4; i++) { + centerInLeft.add(new JLabel()); + } + centerInLeft.add(equation); + + //右边布局 + right.setLayout(new BorderLayout()); + right.add(resultShow,BorderLayout.NORTH); + right.add(new JScrollPane(computerProcess),BorderLayout.CENTER); + JPanel southInRight=new JPanel(); + southInRight.add(saveBtn); + southInRight.add(copyBtn); + southInRight.add(clearTextBtn); + right.add(southInRight,BorderLayout.SOUTH); + + JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,left,right); + //split 左右布局的分割面板 + add(split,BorderLayout.CENTER); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置 点击关闭退出程序 + setVisible(true); + setBounds(200,200,788,258);//设置位置大小 + validate(); + + + + } + public void initActionListener(){ + HandleDight hd=new HandleDight(this); + for (int i = 0; i <= 9; i++) { + numberButtons[i].addActionListener(hd); + } + dot.addActionListener(hd); + + HandleOperator ho=new HandleOperator(this); + for (int i = 0; i < 4; i++) { + operatorButton[i].addActionListener(ho); + } + fu.addActionListener(new HandleFu(this)); + sqrt.addActionListener(new HandleSqrt(this)); + reciprocal.addActionListener(new HandleReciprocal(this)); + back.addActionListener(new HandleBack(this)); + equation.addActionListener(new HandleEquation(this)); + clear.addActionListener(new HandleClear(this)); + HandleFile hf=new HandleFile(this); + saveBtn.addActionListener(hf); + copyBtn.addActionListener(hf); + clearTextBtn.addActionListener(hf); + } +} From 2d9d9abb63ba8cc271b9aad4bda8a28b8e517b78 Mon Sep 17 00:00:00 2001 From: pcwo73qhm <3493721163@qq.com> Date: Fri, 12 Apr 2024 22:41:37 +0800 Subject: [PATCH 2/3] ADD file via upload --- src/CalculatorWindow.java | 165 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 src/CalculatorWindow.java diff --git a/src/CalculatorWindow.java b/src/CalculatorWindow.java new file mode 100644 index 0000000..6684758 --- /dev/null +++ b/src/CalculatorWindow.java @@ -0,0 +1,165 @@ +import javax.swing.*; +import java.awt.*; + +public class CalculatorWindow extends JFrame { + Computer computer; + JButton numberButtons[]; + JButton operatorButton[]; + //加减乘除按钮 + JButton dot,fu,back,equation,clear,sqrt,reciprocal; + JTextField resultShow; + //显示计算结果 + JTextField showTempResult; + //临时结果 + JLabel showOperator; + //运算符 + JTextField showDataItem; + //当前参与运算的数据项 + JTextArea computerProcess; + //计算步骤 + JButton saveBtn,copyBtn,clearTextBtn; + public CalculatorWindow() throws HeadlessException { + computer=new Computer(); + initView();//设置界面 + initActionListener();//注册监视器 + } + public void initView(){ + this.setTitle("计算器"); + JPanel left,right; + resultShow=new JTextField(10); + resultShow.setHorizontalAlignment(JTextField.LEFT); + resultShow.setForeground(Color.blue); + resultShow.setFont(new Font("TimesRoman",Font.BOLD,14)); + resultShow.setEditable(false); + resultShow.setBackground(Color.lightGray); + + showTempResult=new JTextField(); + showTempResult.setHorizontalAlignment(JTextField.RIGHT); + showTempResult.setFont(new Font("Arial",Font.BOLD,14)); + showTempResult.setEditable(false); + + showOperator=new JLabel(); + showOperator.setHorizontalAlignment(JTextField.CENTER); + showOperator.setFont(new Font("Arial",Font.BOLD,18)); + + showDataItem=new JTextField(); + showDataItem.setHorizontalAlignment(JTextField.LEFT); + showDataItem.setBackground(Color.white); + showDataItem.setFont(new Font("Arial",Font.BOLD,14)); + showDataItem.setEditable(false); + + computerProcess=new JTextArea(); + computerProcess.setEditable(false); + computerProcess.setFont(new Font("宋体",Font.PLAIN,14)); + + numberButtons=new JButton[10]; + for (int i = 0; i <=9; i++) { + numberButtons[i]=new JButton(" "+i); + numberButtons[i].setFont(new Font("Arial",Font.BOLD,20)); + } + operatorButton=new JButton[4]; + String s[]={"+","-","*","/"}; + for (int i = 0; i < 4; i++) { + operatorButton[i]=new JButton(s[i]); + operatorButton[i].setFont(new Font("Arial",Font.BOLD,20)); + } + dot=new JButton("."); + fu=new JButton("+/-"); + equation=new JButton("="); + back=new JButton("退格"); + clear=new JButton("C"); + sqrt=new JButton("sqrt"); + reciprocal=new JButton("1/x"); + saveBtn=new JButton("保存"); + copyBtn=new JButton("复制"); + clearTextBtn=new JButton("清除"); + + left=new JPanel(); + right=new JPanel(); + + //左边布局 + left.setLayout(new BorderLayout()); + //BorderLayout 容器分为五个部分(东南西北中),每部分只能包含一个组件 + JPanel centerInLeft=new JPanel(); + Box box=Box.createHorizontalBox(); + //创建水平排列组件的Box + box.add(showTempResult); + box.add(showOperator); + box.add(showDataItem); + left.add(box,BorderLayout.NORTH); + left.add(centerInLeft,BorderLayout.CENTER); + centerInLeft.setLayout(new GridLayout(5,5)); + //GridLayout 网格布局5行5列 + centerInLeft.add(numberButtons[1]); + centerInLeft.add(numberButtons[2]); + centerInLeft.add(numberButtons[3]); + centerInLeft.add(operatorButton[0]); + centerInLeft.add(back); + + centerInLeft.add(numberButtons[4]); + centerInLeft.add(numberButtons[5]); + centerInLeft.add(numberButtons[6]); + centerInLeft.add(operatorButton[1]); + centerInLeft.add(clear); + + centerInLeft.add(numberButtons[7]); + centerInLeft.add(numberButtons[8]); + centerInLeft.add(numberButtons[9]); + centerInLeft.add(operatorButton[2]); + centerInLeft.add(reciprocal); + + centerInLeft.add(numberButtons[0]); + centerInLeft.add(fu); + centerInLeft.add(dot); + centerInLeft.add(operatorButton[3]); + centerInLeft.add(sqrt); + + for (int i = 0; i < 4; i++) { + centerInLeft.add(new JLabel()); + } + centerInLeft.add(equation); + + //右边布局 + right.setLayout(new BorderLayout()); + right.add(resultShow,BorderLayout.NORTH); + right.add(new JScrollPane(computerProcess),BorderLayout.CENTER); + JPanel southInRight=new JPanel(); + southInRight.add(saveBtn); + southInRight.add(copyBtn); + southInRight.add(clearTextBtn); + right.add(southInRight,BorderLayout.SOUTH); + + JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,left,right); + //split 左右布局的分割面板 + add(split,BorderLayout.CENTER); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置 点击关闭退出程序 + setVisible(true); + setBounds(200,200,788,258);//设置位置大小 + validate(); + + + + } + public void initActionListener(){ + HandleDight hd=new HandleDight(this); + for (int i = 0; i <= 9; i++) { + numberButtons[i].addActionListener(hd); + } + dot.addActionListener(hd); + + HandleOperator ho=new HandleOperator(this); + for (int i = 0; i < 4; i++) { + operatorButton[i].addActionListener(ho); + } + fu.addActionListener(new HandleFu(this)); + sqrt.addActionListener(new HandleSqrt(this)); + reciprocal.addActionListener(new HandleReciprocal(this)); + back.addActionListener(new HandleBack(this)); + equation.addActionListener(new HandleEquation(this)); + clear.addActionListener(new HandleClear(this)); + HandleFile hf=new HandleFile(this); + saveBtn.addActionListener(hf); + copyBtn.addActionListener(hf); + clearTextBtn.addActionListener(hf); + } +} From b8d12e0af695b6cbd144968814cc08fdf9ffe2b6 Mon Sep 17 00:00:00 2001 From: pcwo73qhm <3493721163@qq.com> Date: Fri, 12 Apr 2024 22:44:54 +0800 Subject: [PATCH 3/3] Delete 'src/CalculatorWindow.java' --- src/CalculatorWindow.java | 165 -------------------------------------- 1 file changed, 165 deletions(-) delete mode 100644 src/CalculatorWindow.java diff --git a/src/CalculatorWindow.java b/src/CalculatorWindow.java deleted file mode 100644 index 6684758..0000000 --- a/src/CalculatorWindow.java +++ /dev/null @@ -1,165 +0,0 @@ -import javax.swing.*; -import java.awt.*; - -public class CalculatorWindow extends JFrame { - Computer computer; - JButton numberButtons[]; - JButton operatorButton[]; - //加减乘除按钮 - JButton dot,fu,back,equation,clear,sqrt,reciprocal; - JTextField resultShow; - //显示计算结果 - JTextField showTempResult; - //临时结果 - JLabel showOperator; - //运算符 - JTextField showDataItem; - //当前参与运算的数据项 - JTextArea computerProcess; - //计算步骤 - JButton saveBtn,copyBtn,clearTextBtn; - public CalculatorWindow() throws HeadlessException { - computer=new Computer(); - initView();//设置界面 - initActionListener();//注册监视器 - } - public void initView(){ - this.setTitle("计算器"); - JPanel left,right; - resultShow=new JTextField(10); - resultShow.setHorizontalAlignment(JTextField.LEFT); - resultShow.setForeground(Color.blue); - resultShow.setFont(new Font("TimesRoman",Font.BOLD,14)); - resultShow.setEditable(false); - resultShow.setBackground(Color.lightGray); - - showTempResult=new JTextField(); - showTempResult.setHorizontalAlignment(JTextField.RIGHT); - showTempResult.setFont(new Font("Arial",Font.BOLD,14)); - showTempResult.setEditable(false); - - showOperator=new JLabel(); - showOperator.setHorizontalAlignment(JTextField.CENTER); - showOperator.setFont(new Font("Arial",Font.BOLD,18)); - - showDataItem=new JTextField(); - showDataItem.setHorizontalAlignment(JTextField.LEFT); - showDataItem.setBackground(Color.white); - showDataItem.setFont(new Font("Arial",Font.BOLD,14)); - showDataItem.setEditable(false); - - computerProcess=new JTextArea(); - computerProcess.setEditable(false); - computerProcess.setFont(new Font("宋体",Font.PLAIN,14)); - - numberButtons=new JButton[10]; - for (int i = 0; i <=9; i++) { - numberButtons[i]=new JButton(" "+i); - numberButtons[i].setFont(new Font("Arial",Font.BOLD,20)); - } - operatorButton=new JButton[4]; - String s[]={"+","-","*","/"}; - for (int i = 0; i < 4; i++) { - operatorButton[i]=new JButton(s[i]); - operatorButton[i].setFont(new Font("Arial",Font.BOLD,20)); - } - dot=new JButton("."); - fu=new JButton("+/-"); - equation=new JButton("="); - back=new JButton("退格"); - clear=new JButton("C"); - sqrt=new JButton("sqrt"); - reciprocal=new JButton("1/x"); - saveBtn=new JButton("保存"); - copyBtn=new JButton("复制"); - clearTextBtn=new JButton("清除"); - - left=new JPanel(); - right=new JPanel(); - - //左边布局 - left.setLayout(new BorderLayout()); - //BorderLayout 容器分为五个部分(东南西北中),每部分只能包含一个组件 - JPanel centerInLeft=new JPanel(); - Box box=Box.createHorizontalBox(); - //创建水平排列组件的Box - box.add(showTempResult); - box.add(showOperator); - box.add(showDataItem); - left.add(box,BorderLayout.NORTH); - left.add(centerInLeft,BorderLayout.CENTER); - centerInLeft.setLayout(new GridLayout(5,5)); - //GridLayout 网格布局5行5列 - centerInLeft.add(numberButtons[1]); - centerInLeft.add(numberButtons[2]); - centerInLeft.add(numberButtons[3]); - centerInLeft.add(operatorButton[0]); - centerInLeft.add(back); - - centerInLeft.add(numberButtons[4]); - centerInLeft.add(numberButtons[5]); - centerInLeft.add(numberButtons[6]); - centerInLeft.add(operatorButton[1]); - centerInLeft.add(clear); - - centerInLeft.add(numberButtons[7]); - centerInLeft.add(numberButtons[8]); - centerInLeft.add(numberButtons[9]); - centerInLeft.add(operatorButton[2]); - centerInLeft.add(reciprocal); - - centerInLeft.add(numberButtons[0]); - centerInLeft.add(fu); - centerInLeft.add(dot); - centerInLeft.add(operatorButton[3]); - centerInLeft.add(sqrt); - - for (int i = 0; i < 4; i++) { - centerInLeft.add(new JLabel()); - } - centerInLeft.add(equation); - - //右边布局 - right.setLayout(new BorderLayout()); - right.add(resultShow,BorderLayout.NORTH); - right.add(new JScrollPane(computerProcess),BorderLayout.CENTER); - JPanel southInRight=new JPanel(); - southInRight.add(saveBtn); - southInRight.add(copyBtn); - southInRight.add(clearTextBtn); - right.add(southInRight,BorderLayout.SOUTH); - - JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,left,right); - //split 左右布局的分割面板 - add(split,BorderLayout.CENTER); - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置 点击关闭退出程序 - setVisible(true); - setBounds(200,200,788,258);//设置位置大小 - validate(); - - - - } - public void initActionListener(){ - HandleDight hd=new HandleDight(this); - for (int i = 0; i <= 9; i++) { - numberButtons[i].addActionListener(hd); - } - dot.addActionListener(hd); - - HandleOperator ho=new HandleOperator(this); - for (int i = 0; i < 4; i++) { - operatorButton[i].addActionListener(ho); - } - fu.addActionListener(new HandleFu(this)); - sqrt.addActionListener(new HandleSqrt(this)); - reciprocal.addActionListener(new HandleReciprocal(this)); - back.addActionListener(new HandleBack(this)); - equation.addActionListener(new HandleEquation(this)); - clear.addActionListener(new HandleClear(this)); - HandleFile hf=new HandleFile(this); - saveBtn.addActionListener(hf); - copyBtn.addActionListener(hf); - clearTextBtn.addActionListener(hf); - } -}