62,614
社区成员
发帖
与我相关
我的任务
分享
//Ex9_8.java
public class Ex9_8 {
public static void main(String[] args) {
// TODO Auto-generated method stub
WindowOperation win=new WindowOperation();
win.setBounds(100,100,390,360);
win.setTitle("简单计算器");
}
}
//ComputerListener.java
import java.awt.event.*;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.io.*;
public class ComputerListener implements ActionListener {
JTextField inputNumberOne, inputNumberTwo;
JTextArea textShow;
String fuhao;
public void setJTextFieldOne(JTextField t) {
inputNumberOne = t;
}
public void setJTextFieldTwo(JTextField t) {
inputNumberTwo = t;
}
public void setJTextArea(JTextArea area) {
textShow = area;
}
public void setFuhao(String s) {
fuhao = s;
}
public void actionPerformed(ActionEvent e) {
// try {
double number1 = Double.parseDouble(inputNumberOne.getText());
double number2 = Double.parseDouble(inputNumberTwo.getText());
System.out.println(number1);
System.out.println(number1);
double result = 0;
if (fuhao.equals("+")) {
result = number1 + number2;
} else if (fuhao.equals("-")) {
result = number1 - number2;
} else if (fuhao.equals("*")) {
result=number1*number2;
}else if (fuhao.equals("/")) {
result=number1/number2;
}
textShow.append(number1+" "+fuhao+" "+number2+" "+result+"\n");
// } catch (Exception exp) {
// // TODO: handle exception
// textShow.append("\n 请输入数字字符"+exp.toString());
// }
}
}
//OperatorListener.java
import java.awt.event.*;
import javax.swing.*;
public class OperatorListener implements ItemListener {
JComboBox choice;
ComputerListener workTogether;
public void setJComboBox(JComboBox box) {
choice=box;
}
public void setWorkTogether(ComputerListener computer) {
workTogether=computer;
}
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
String fuhao=choice.getSelectedItem().toString();
workTogether.setFuhao(fuhao);
}
}
//WindowOperation .java
import java.awt.*;
import java.io.*;
import javax.swing.*;
public class WindowOperation extends JFrame{
JTextField inputNumberOne,inputNumberTwo;
JComboBox choiceFuhao;
JTextArea textShow;
JButton button;
OperatorListener operator;
ComputerListener computer;
public WindowOperation() {
// TODO Auto-generated constructor stub
init();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void init(){
setLayout(new FlowLayout());
inputNumberOne=new JTextField(5);
inputNumberTwo=new JTextField(5);
choiceFuhao=new JComboBox();
button=new JButton("计算");
choiceFuhao.addItem("选择运算符号:");
String []a={"+","-","*","/"};
for (int i = 0; i < a.length; i++) {
choiceFuhao.addItem(a[i]);
}
textShow=new JTextArea(9,30);
operator=new OperatorListener();
computer=new ComputerListener();
operator.setJComboBox(choiceFuhao);
operator.setWorkTogether(computer);
computer.setJTextFieldOne(inputNumberOne);
computer.setJTextFieldOne(inputNumberTwo);
computer.setJTextArea(textShow);
choiceFuhao.addItemListener(operator);
button.addActionListener(computer);
add(inputNumberOne);
add(inputNumberOne);
add(choiceFuhao);
add(inputNumberTwo);
add(button);
add(new JScrollPane(textShow));
}
}