我是一个java初学者,想用japplet做一个小计算器,这是其中 “+”法运算的程序  怎么运行不了啊 哪位高手帮看一下 谢了~~import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MyComputer extends JApplet implements ActionListener{
JLabel num1Label,num2Label,resultLabel;
JTextField num1Field,num2Field,resultField;
JButton jiaButton;
String num1Val = num1Field.getText();
String num2Val = num2Field.getText(); int num1 = Integer.parseInt(num1Val);
int num2 = Integer.parseInt(num2Val);
public void init()
{
Container container = getContentPane();
container.setLayout(new FlowLayout());

//定义num1
num1Label = new JLabel( "num1");
container.add(num1Label);
num1Field = new JTextField( 10 );
container.add( num1Field );

//定义num2
num2Label = new JLabel( "num2");
container.add(num2Label);
num2Field = new JTextField( 10 );
container.add( num2Field );

//定义result
resultLabel = new JLabel( "result ");
container.add( resultLabel);
container.add( resultLabel );
resultField = new JTextField( 10 );
resultField.setEditable( false );
container.add( resultField );

//定义+
jiaButton = new JButton( "+" );
jiaButton.addActionListener( this );
container.add( jiaButton );


}



public void actionPerformed( ActionEvent actionevent )
{
int sum1;
sum1 = num1 + num2;

resultField.setText( "sum1 = " + sum1 );

}

}

解决方案 »

  1.   


    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;public class MyComputer extends JApplet implements ActionListener {
    JLabel num1Label, num2Label, resultLabel;
    JTextField num1Field, num2Field, resultField;
    JButton jiaButton;
    String num1Val;
    String num2Val; int num1;
    int num2; public void init() {
    Container container = getContentPane();
    container.setLayout(new FlowLayout());
    num1Label = new JLabel("num1");
    container.add(num1Label);
    num1Field = new JTextField(10);
    container.add(num1Field);  
    num2Label = new JLabel("num2");
    container.add(num2Label);
    num2Field = new JTextField(10);
    container.add(num2Field);
    resultLabel = new JLabel("result ");
    container.add(resultLabel);
    container.add(resultLabel);
    resultField = new JTextField(10);
    resultField.setEditable(false);
    container.add(resultField);
    jiaButton = new JButton("+");
    jiaButton.addActionListener(this);
    container.add(jiaButton); } public void actionPerformed(ActionEvent actionevent) {
    int sum1;
    num1Val = num1Field.getText().trim().toString();
    num2Val = num2Field.getText().trim().toString();
    num1 = Integer.parseInt(num1Val);
    num2 = Integer.parseInt(num2Val);
    sum1 = num1 + num2; resultField.setText("sum1 = " + sum1); }}
      

  2.   

    太强了啊 这么快  
    num1Val = num1Field.getText().trim().toString();
    num2Val = num2Field.getText().trim().toString();
    这两句是什么意思啊
      

  3.   

    trim会把你输入内容的前后的空白去掉.
    世纪这里没有必要调用toString()了.
      

  4.   

    还有一个问题 那个从JTextField中获取数字不能用getText()吗  怎么用它就会显示“未初始化小程序”而不能运行呢 谢了 呵呵
      

  5.   


    toString()    因為打習慣了~~~~~    每次總習慣性的打出來·~
      

  6.   

    哦  知道了 我试了好多次 只用getText()也行  
    那个这一部分
    num1Val = num1Field.getText().trim().toString();
    num2Val = num2Field.getText().trim().toString();
    num1 = Integer.parseInt(num1Val);
    num2 = Integer.parseInt(num2Val);
    放在前面为什么不行啊
      

  7.   

    初始化這幾個的時候  你的num1Field 還沒有new呢·~   他們找不到值~~