import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
//窗口的建立
class window extends JFrame implements ActionListener
{
private JTextField opt1,opt2;//创建两个操作数
private JTextArea result;
private JButton compute;
private JComboBox operator;//创建一个复选框
public window()
{
init();
this.setBounds(100,100,600,200);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void init()
{
JPanel panel=new JPanel();
opt1=new JTextField(10);
opt2=new JTextField(10);
operator=new JComboBox();
result=new JTextArea(10,8);
compute=new JButton("计算");
operator.addItem("+");
operator.addItem("-");
operator.addItem("*");
operator.addItem("/");
compute.addActionListener(this);//为compute加入监视器
//将组件放入条形框
panel.add(opt1);
panel.add(operator);
panel.add(opt2);
panel.add(new Label("=");
panel.add(compute);
//将组件放入大容器 并设置格局
this.add(panel,BorderLayout.NORTH);
this.add(result,BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent ee)
{
try
{
double fresult=0;//设置最终结果
double op1=Double.parseDouble(opt1.getText().trim());//将操作数转化提出
double op2=Double.parseDouble(opt2.getText().trim());
//针对不同的情况分别计算
if(operator.getSelectedItem()=="+")
fresult=op1+op2;
else if(operator.getSelectedItem()=="-")
fresult=op1-op2;
else if(operator.getSelectedItem()=="*")
fresult=op1*op2;
else if(operator.getSelectedItem()=="/")
fresult=op1/op2;
//采用追加
result.append("result is" + fresult);
}
catch(NumberFormatException ee)//数字格式不对抛出异常
{
result.append("data error");
}
}
}
java响应式
最新推荐文章于 2024-05-27 22:36:37 发布