public class Example9_8 {
public static void main(String[] args) {
// TODO Auto-generated method stub
WindowOperation win=new WindowOperation();
win.setBounds(100,100,390,360);
win.setTitle("简单计算器");
}
}
import java.awt.event.*;
import javax.swing.*;
public class ComputerListener implements ActionListener {
JTextField inputNumberone,inputNumbertwo;
JTextArea textShow;
String fuhao;
public void setJTextFieldone( JTextField t){
inputNumberone=t;
}
public void setJTextFieltwo( JTextField t){
inputNumbertwo=t;
}
public void setJTextField( JTextArea area){
textShow=area;
}
public void setFuhao(String s){
fuhao=s;
}
public void actionPerformed(ActionEvent e){
try{
double num1=Double.parseDouble(inputNumberone.getText());
double num2=Double.parseDouble(inputNumbertwo.getText());
double result=0;
if(fuhao.equals("+")){
result=num1+num2;
}else if(fuhao.equals("-")){
result=num1-num2;
}else if(fuhao.equals("*")){
result=num1*num2;
}else if(fuhao.equals("/")){
result=num1/num2;
}
textShow.append(num1+" "+fuhao+" "+num2+" = "+result+"\n");
}
catch(Exception exp){
textShow.append("\n请输入数字字符");
}
}
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){
String fuhao=choice.getSelectedItem().toString();
workTogether.setFuhao(fuhao);
}
}
import java.awt.*;
import javax.swing.*;
import java.io.*;
public class WindowOperation extends JFrame{
JTextField inputNumberone,inputNumbertwo;
JComboBox choiceFuhao;
JTextArea textShow;
JButton button;
OperatorListener operator;
ComputerListener computer;
public WindowOperation(){
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.setJTextFieltwo(inputNumbertwo);
computer.setJTextField(textShow);
choiceFuhao.addItemListener(operator);
button.addActionListener(computer);
add(inputNumberone);
add(choiceFuhao);
add(inputNumbertwo);
add(button);
add(new JScrollPane(textShow));
}
}
}
运行结果:
