老师出的题,题意是使用布局分方式做四则运算,做完之后我发现在事件监听上出了点问题,这方面还是没有搞懂按“+”这个按钮就是把text1+text2,希望高手能指点一下,谢谢了。两个text...
老师出的题,题意是使用布局分方式做四则运算,做完之后我发现在事件监听上出了点问题,这方面还是没有搞懂
按“+”这个按钮就是把text1+text2,希望高手能指点一下,谢谢了。
两个text 1个label 输出结果用的,还有就是but + - * / 这四个按钮。
我写的代码如下
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Buju extends JFrame
{JTextField text1,text2;
JButton but1,but2,but3,but4;
JLabel lab1;
public Buju(){
super("布局模式");
setBounds(20,20,500,400);
Container contentPane=getContentPane();
contentPane.setLayout(new BorderLayout(10,10));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel jp1=new JPanel(new FlowLayout());
JPanel jp2=new JPanel(new FlowLayout());
text1=new JTextField(5);
jp2.add(text1);
text2=new JTextField(5);
jp2.add(text2);
lab1=new JLabel("输出结果");
jp2.add(lab1);
but1=new JButton("+");
jp1.add(but1);
but2=new JButton("-");
jp1.add(but2);
but3=new JButton("*");
jp1.add(but3);
but4=new JButton("/");
jp1.add(but4);
contentPane.add(jp2,BorderLayout.CENTER);
contentPane.add(jp1,BorderLayout.SOUTH);
}
private void but1ActionPerformed(java.awt.event.ActionEvent evt) {//这里就不对劲了,也不知道该怎么写了。
double x,y,s;
String str;
x=Double.valueOf(text1.getText());
y=Double.valueOf(text2.getText());
s=x+y;
str=String.valueOf(s);
lab1.setText(str);
}
public static void main(String[] args) {
Buju bj=new Buju();
bj.setVisible(true);
}
}
展开