package zuoye0517;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class XIA extends JFrame{
private JComboBox lst;
private JLabel lbl,lb2;
private JTextField txt1,txt2,txt3;
private Object cities[]={"","+","-","*","/"};
public XIA(){
super("下拉条");
Container c=getContentPane();
c.setLayout(new FlowLayout());
txt1=new JTextField(3);
txt2=new JTextField(3);
txt3=new JTextField(5);
lb2=new JLabel("=");
lst=new JComboBox(cities);
lst.setMaximumRowCount(4);
c.add(txt1);
c.add(lst);
c.add(txt2);
c.add(lb2);
c.add(txt3);
lst.addItemListener(new Handler1());
setSize(300,150);
setVisible(true);
}
public static void main(String args[]){
XIA app=new XIA();
app.addWindowListener( new Handler2());
}
class Handler1 implements ItemListener{
public void itemStateChanged(ItemEvent e){
if(lst.getSelectedItem()=="+") {
String s1 = txt1.getText();
String s2 = txt2.getText();
double d1 = Double.parseDouble(s1);
double d2 = Double.parseDouble(s2);
double d3 = d1 + d2;
String s3 = Double.toString(d3);
txt3.setText(s3);
}
if(lst.getSelectedItem()=="-") {
String s1 = txt1.getText();
String s2 = txt2.getText();
double d1 = Double.parseDouble(s1);
double d2 = Double.parseDouble(s2);
double d3 = d1 - d2;
String s3 = Double.toString(d3);
txt3.setText(s3);
}
if(lst.getSelectedItem()=="*") {
String s1 = txt1.getText();
String s2 = txt2.getText();
double d1 = Double.parseDouble(s1);
double d2 = Double.parseDouble(s2);
double d3 = d1 * d2;
String s3 = Double.toString(d3);
txt3.setText(s3);
}
if(lst.getSelectedItem()=="/") {
String s1 = txt1.getText();
String s2 = txt2.getText();
double d1 = Double.parseDouble(s1);
double d2 = Double.parseDouble(s2);
double d3 = d1 / d2;
String s3 = Double.toString(d3);
txt3.setText(s3);
}
}
}
static class Handler2 extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
}
有个缺陷,就是在输入的时候需要先将两个数据输入在选择计算方法 才会进行计算.待改正..
java---简单计算器的制作
最新推荐文章于 2024-05-13 04:14:52 发布