两个数在按下按钮时相加,用消息框显示和数
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Caculator extends JFrame implements ActionListener{
/**
* @param args
*/
public Caculator(){
super("计算");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextField num0=new JTextField(5);
JTextField num1=new JTextField(5);
JButton button=new JButton("计算");
JPanel p=new JPanel();
//num0.setEditable(true);
//num1.setEditable(true);
button.addActionListener(this);
p.add(num0);
p.add(num1);
p.add(button);
setContentPane(p);
pack();
setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Caculator cl=new Caculator();
}
public void actionPerformed(ActionEvent evt) {
// TODO Auto-generated method stub
int sum=Integer.parseInt(num0.getText())+Integer.parseInt(num1.getText()); //这里总是提示
num0,num1 can not be solved,为什么啊?
JOptionPane.showMessageDialog(null,sum+"");
}
}
----------------解决方案--------------------------------------------------------
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Caculator extends JFrame implements ActionListener{
/**
* @param args
*/
private JTextField num0,num1;
public Caculator(){
super("计算");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextField num0=new JTextField(5);
JTextField num1=new JTextField(5);
JButton button=new JButton("计算");
JPanel p=new JPanel();
//num0.setEditable(true);
//num1.setEditable(true);
button.addActionListener(this);
p.add(num0);
p.add(num1);
p.add(button);
setContentPane(p);
pack();
setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Caculator cl=new Caculator();
}
public void actionPerformed(ActionEvent evt) {
// TODO Auto-generated method stub
int sum=Integer.parseInt(num0.getText())+Integer.parseInt(num1.getText()); //这里总是提示
JOptionPane.showMessageDialog(null,sum+"");
}
}
----------------解决方案--------------------------------------------------------
你写的代码格式真是 很乱,要看好的代码,养好的风格
以后不要出这样的小错了!!
----------------解决方案--------------------------------------------------------
我2楼代码没改完
public class Caculator extends JFrame implements ActionListener{
/**
* @param args
*/
private JTextField num0,num1;
public Caculator(){
super("计算");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
num0=new JTextField(5);
num1=new JTextField(5);
JButton button=new JButton("计算");
JPanel p=new JPanel();
//num0.setEditable(true);
//num1.setEditable(true);
button.addActionListener(this);
p.add(num0);
p.add(num1);
p.add(button);
setContentPane(p);
pack();
setVisible(true);
}
----------------解决方案--------------------------------------------------------
谢谢
----------------解决方案--------------------------------------------------------
楼主知道为什么要这样改吗`?
这是关于一个作用域的问题`
`
----------------解决方案--------------------------------------------------------
shiyide 还卖关子啊 呵呵
----------------解决方案--------------------------------------------------------
呵呵。那是个作用域的问题,
你要在其他方法里使用变量。
就应该把变量声明在方法外面。
这样才能使这个类中的所有方法都能共用。
----------------解决方案--------------------------------------------------------
有道理,这也是关于基础的变量作用域的问题
一般来说,在很多方法里面都要用到的变量最好声明成成员变量
如果只是本方法需要的话,还是在方法里面声明好一些,这样效率更高
----------------解决方案--------------------------------------------------------
明白了 谢谢各位
----------------解决方案--------------------------------------------------------