要求:
编程:如下图所示,在JFrame上布置三个按钮及三个文本框。要求点击“+”按钮时,第三个文本框中为前两个文本框的和,点击“-”按钮时,第三个文本框中为前两个文本框的差,点击“清除”按钮时,清空三个文本框中的内容。
代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Test implements ActionListener{
JFrame f;
JButton b,badd,bsub,bclear;
Container cp;
JLabel jl;
JTextField jtf1,jtf2,jtf3;
Test(){
f = new JFrame("计算器");
f.setSize(400,100);//设置大小
cp = f.getContentPane();//加载面板
cp.setLayout(new FlowLayout());//改成流式布局
jtf1 = new JTextField(10);
jtf2 = new JTextField(10);
jtf3 = new JTextField(10);
badd = new JButton("+");
bsub = new JButton("-");
bclear = new JButton("清除");
cp.add(jtf1);//添加文本框
cp.add(jtf2);
cp.add(jtf3);
cp.add(badd);
badd.addActionListener(this);//给+添加监听机制
cp.add(bsub);
bsub.addActionListener(this);
cp.add(bclear);
bclear.addActionListener(this);
f.setVisible(true);//显示窗体
f.setLocationRelativeTo(null);//窗体居中
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭
}
public static void main(String[] args){
new Test();
}
@Override
public void actionPerformed(ActionEvent e) {
int num1 = Integer.parseInt(jtf1.getText());//获取文本框1输入的值将其转换成整型
int num2 = Integer.parseInt(jtf2.getText());//获取文本框2输入的值将其转换成整型
/**
* 如果鼠标点击的是+那行加法
* 如果鼠标点击的是-执行减法
* 如果鼠标点击的是清除则执行清除
* */
if(e.getSource()==badd){
jtf3.setText(String.valueOf(num1+num2));//将文本框1和2的值相加并转成字符串型显示到文本框3中
}
else if(e.getSource()==bsub){
jtf3.setText(String.valueOf(num1-num2));
}
else{
jtf1.setText("");//让文本框为空
jtf2.setText("");
jtf3.setText("");
}
}
}