import java.awt.Button;
import java.awt.Choice;
import java.awt.FlowLayout;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import org.omg.CORBA.PUBLIC_MEMBER;
public class Hello {
/* 创建窗体结构
* 1,三个文本
* 2,一个等号的button
* 3,一个可供选择的滑动
*/
TextField textfield1 = new TextField(10);
TextField textfield2 = new TextField(10);
TextField textfield3 = new TextField(10);
Button button = new Button("=");
Choice list = new Choice();
public static void main(String[] args) {
new Hello().start();
}
private void start() {
//滑动组件添加
list.add("+");
list.add("-");
list.add("*");
list.add("/");
//为button设置监听,内部类
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//获取文本内容
String op1 = textfield1.getText();
String op2 = textfield2.getText();
Double number1,number2,number3 = null;
//判断是输入是数字格式是否正确
try {
number1 = Double.valueOf(op1);
number2 = Double.valueOf(op2);
}catch (NumberFormatException e1) {
textfield3.setText("输入格式错误");
return ;
}
String st = list.getSelectedItem();
switch (st) {
case "+":
number3 = number1 + number2 ;
break;
case "-":
number3 = number1 - number2;
break;
case "*":
number3 = number1 * number2;
break;
case "/":
number3 = number1/number2;
break;
default:
break;
}
textfield3.setText(number3+"");
textfield2.setText("");
textfield1.setText("");
}
});
//创建一个容器,设置大小和位子,以及布局
JFrame jframe = new JFrame("简单的计算器:");
jframe.setBounds(250, 250, 400, 400);
jframe.setLayout(new FlowLayout());
//按照布局,以次添加组件
jframe.add(textfield1);
jframe.add(list);
jframe.add(textfield2);
jframe.add(button);
jframe.add(textfield3);
jframe.setVisible(true);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
结果展示: