importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;classWindowextendsJFrame{publicWindow(){super("计算器");setBounds(100,100,330,220);a...
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
class Window extends JFrame
{
public Window()
{
super("计算器");
setBounds(100,100,330,220);
addWindowListener
(
new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
setLayout(null);
}
}
class Jbutton extends JButton
{
public Jbutton(String str1,int x1,int y1)
{
super(str1);
setBounds(x1,y1,50,30);
}
}
class Jlabel extends JLabel
{
public Jlabel(String str2,int x2,int y2)
{
super(str2);
setBounds(x2,y2,50,20);
}
public Jlabel(int x2,int y2,int k,int g)
{
super();
setBounds(x2,y2,k,g);
setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),"操作数&结果"));
}
}
class JtextField extends JTextField
{
public JtextField(int x3,int y3)
{
super();
setBounds(x3,y3,100,20);
}
}
class SY1101
{
public static void main(String args[])
{
Window F=new Window();
//定义按钮
Jbutton B1=new Jbutton("+",240,15);
F.getContentPane().add(B1);
Jbutton B2=new Jbutton("-",240,55);
F.getContentPane().add(B2);
Jbutton B3=new Jbutton("×",240,95);
F.getContentPane().add(B3);
Jbutton B4=new Jbutton("÷",240,135);
F.getContentPane().add(B4);
//定义标签
Jlabel L1=new Jlabel("操作数",30,40);
F.getContentPane().add(L1);
Jlabel L2=new Jlabel("操作数",30,85);
F.getContentPane().add(L2);
Jlabel L3=new Jlabel("结果",30,130);
F.getContentPane().add(L3);
Jlabel L4=new Jlabel(15,10,200,160);
F.getContentPane().add(L4);
//定义文本框
final JtextField J1=new JtextField(90,40);
F.getContentPane().add(J1);
final JtextField J2=new JtextField(90,85);
F.getContentPane().add(J2);
final JtextField J3=new JtextField(90,130);
F.getContentPane().add(J3);
//计算过程
int c1,c2,c3,c4;
c1=Integer.parseInt(J1.getText())+Integer.parseInt(J2.getText());
final String S1=Integer.toString(c1);
c2=Integer.parseInt(J1.getText())-Integer.parseInt(J2.getText());
final String S2=Integer.toString(c2);
c3=Integer.parseInt(J1.getText())*Integer.parseInt(J2.getText());
final String S3=Integer.toString(c3);
c4=Integer.parseInt(J1.getText())/Integer.parseInt(J2.getText());
final String S4=Integer.toString(c4);
B1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
J3.setText(S1);
}
}
);
B2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
J3.setText(S2);
}
}
);
B3.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
J3.setText(S3);
}
}
);
B4.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
J3.setText(S4);
}
}
);
F.setVisible(true);
}
}
目的在"操作数"文本框中输入数字,点击符号,结果保存在"结果"文本框中,按钮监听已实现,不知道怎么获取文本框内容,提示错误NumberFormatException:For input String "",在定义文本框的时就直接定义内容就可以计算,但是只能计算定义的,不能重新输入
怎样改才行?求高手解答
展开