功能介绍:本实例要求按钮,布局管理和标签等构件。
功能实现:实现加、减、乘、除运算;在此基础利用下拉列表进行运算符号选择。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class 计算器 extends Frame implements ActionListener {
JTextField txt1, txt2, txt3;
JLabel bq=new JLabel("=");
JComboBox<String> jc = new JComboBox<String>(new String[]{"+","-","*","/"});
public 计算器() {
super("简单的四则运算器");
setSize(400, 251);
setLayout(new FlowLayout());
setVisible(true);
txt1 = new JTextField(5);
txt2 = new JTextField(5);
txt3 = new JTextField(15);
JPanel p1 = new JPanel();
p1.add(txt1);
p1.add(jc);
p1.add(txt2);
p1.add(bq);
p1.add(txt3);
add(p1);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
}
);
validate();
jc.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
float num1 = Float.valueOf(txt1.getText()).floatValue();
float num2 = Float.valueOf(txt2.getText()).floatValue();
float num3=0;
switch (jc.getSelectedItem().toString()) {
case "+":
num3 =num1 + num2;
txt3.setText(String.valueOf(num3));
break;
case "-":
num3=num1 - num2;
txt3.setText(String.valueOf(num3));
break;
case "*":
num3 =num1 * num2;
txt3.setText(String.valueOf(num3));
break;
case "/":
num3 =num1 / num2;
txt3.setText(String.valueOf(num3));
break;
default:
throw new IllegalStateException("Unexpected value: " +num3);
}
}
}
public class Yunsuan {
public static void main(String[] args) {
new 计算器();
}
}