JAVA的问题 高手帮帮 告诉我这个错误怎么改
[SIZE="3"]Exception in thread "main" java.lang.NullPointerException
at wg.<init>(wg.java:83)
at wg.main(wg.java:388)[/SIZE]
代码如下:import java.awt.*;
import java.awt.Graphics;
import java.awt.event.*;
import java.applet.Applet;
import java.lang.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.JFrame;
import java.text.DecimalFormat;
public class wg extends JFrame
implements ActionListener
{
JMenuBar mainMenu;
JLabel Space;
JFrame frame;
JTextField kuang,xiang;
JPanel panel, panel1, panel2, panel3;
JButton button[];
JButton buttonjia,buttonjian,buttoncheng,buttonchu,buttondeng,buttondian;
JButton buttontui,buttonclear;
JMenu editMenu,aboutMenu;
JMenuItem copyItem,pasteItem,aboutItem;
DecimalFormat df;
boolean clickable,isdian;
double memoryd;
int memoryi;
double vard, answerd;
short key = -1, prekey = -1;
String copy;
public wg()
{
clickable = true;
answerd = 0;
frame = new JFrame("05网管 计算器");
df = new DecimalFormat("0.##############");
kuang = new JTextField(20);
kuang.setText("");
kuang.setEditable(false);
kuang.setBackground(new Color(255,255,255));
panel = new JPanel();
frame.getContentPane().add(panel);
panel1 = new JPanel();
panel2 = new JPanel();
panel.setLayout(new BorderLayout());
mainMenu = new JMenuBar();
editMenu = new JMenu("编辑(E)");
aboutMenu = new JMenu("关于(M)");
copyItem = new JMenuItem(" 复制(C) Ctrl+C");
copyItem.addActionListener(this);
pasteItem = new JMenuItem(" 粘贴(V) Ctrl+V");
pasteItem.addActionListener(this);
editMenu.add(copyItem);
editMenu.add(pasteItem);
aboutItem = new JMenuItem(" 关于计算器(A)");
aboutItem.addActionListener(this);
aboutMenu.add(aboutItem);
mainMenu.add(editMenu);
mainMenu.add(aboutMenu);
panel.add(mainMenu, BorderLayout.NORTH);
panel.add(kuang, BorderLayout.CENTER);
panel.add(panel1, BorderLayout.SOUTH);
panel1.setLayout(new BorderLayout());
xiang = new JTextField(3);
xiang.setEditable(false);
xiang.setBackground(new Color(217, 217, 217));
Space = new JLabel(" ");
buttontui = new JButton("退格");
buttontui.setForeground(new Color(255, 0, 0));
buttonclear = new JButton("清空");
buttonclear.setForeground(new Color(255, 0, 0));
buttontui.addActionListener(this);
buttonclear.addActionListener(this);
panel1.add(panel2, BorderLayout.NORTH);
panel2.setLayout(new FlowLayout(FlowLayout.RIGHT));
panel2.add(xiang);
panel2.add(Space);
panel2.add(buttontui);
panel2.add(buttonclear);
panel3 = new JPanel();
panel1.add(panel3, BorderLayout.CENTER);
panel3.add(button[0]);
button[0].addActionListener(this);
panel3.add(button[1]);
button[1].addActionListener(this);
panel3.add(button[2]);
button[2].addActionListener(this);
panel3.add(button[3]);
button[3].addActionListener(this);
panel3.add(button[4]);
button[4].addActionListener(this);
panel3.add(button[5]);
button[5].addActionListener(this);
panel3.add(button[6]);
button[6].addActionListener(this);
panel3.add(button[7]);
button[7].addActionListener(this);
panel3.add(button[8]);
button[8].addActionListener(this);
panel3.add(button[9]);
button[9].addActionListener(this);
panel3.add(buttonjia);
buttonjia.addActionListener(this);
panel3.add(buttonjian);
buttonjian.addActionListener(this);
panel3.add(buttoncheng);
buttoncheng.addActionListener(this);
panel3.add(buttonchu);
buttonchu.addActionListener(this);
panel3.add(buttondian);
buttondian.addActionListener(this);
panel3.add(buttondeng);
buttondeng.addActionListener(this);
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
frame.pack();
frame.show();
buttondian = new JButton(".");
buttondian.setForeground(new Color(0, 0, 255));
buttondeng = new JButton("=");
buttondeng.setForeground(new Color(255, 0, 0));
buttonjia = new JButton("+");
buttonjia.setForeground(new Color(255, 0, 0));
buttonjian = new JButton("-");
buttonjian.setForeground(new Color(255, 0, 0));
buttoncheng = new JButton("*");
buttoncheng.setForeground(new Color(255, 0, 0));
buttonchu = new JButton("/");
buttonchu.setForeground(new Color(255, 0, 0));
button = new JButton[10];
for (int i = 0; i < button.length; i++)
{
button = new JButton(Integer.toString(i));
button.setForeground(new Color(0, 0, 255));
}
}
public void actionPerformed(ActionEvent event)
{
boolean sign = false;
Object temp = event.getSource();
try
{
for (int i = 0; i <= 9; i++)
if (temp == button && clickable == true)
kuang.setText(kuang.getText() + Integer.toString(i));
if (temp == buttondian && clickable == true)
{
boolean isdian = false;
if (kuang.getText().length() == 0)
isdian = true;
for (int i = 0; i < kuang.getText().length(); i++)
if ('.' == kuang.getText().charAt(i))
{
isdian = true;
break;
}
if (isdian == false)
kuang.setText(kuang.getText() + ".");
}
if ( (temp == buttonjia || temp == buttonjian ||
temp == buttoncheng ||temp == buttonchu) && clickable == true)
{
if (temp == buttonjia)
{
switch (prekey)
{
case 0:
answerd += Double.parseDouble(kuang.getText());
break;
case 1:
answerd -= Double.parseDouble(kuang.getText());
break;
case 2:
answerd *= Double.parseDouble(kuang.getText());
break;
case 3:
if (Double.parseDouble(kuang.getText()) == 0)
{
clickable = false;
}
else
answerd /= Double.parseDouble(kuang.getText());
break;
default:
answerd = Double.parseDouble(kuang.getText());
}
kuang.setText("");
prekey = key = 0;
}
if (temp == buttonjian)
{
switch (prekey)
{
case 0:
answerd += Double.parseDouble(kuang.getText());
break;
case 1:
answerd -= Double.parseDouble(kuang.getText());
break;
case 2:
answerd *= Double.parseDouble(kuang.getText());
break;
case 3:
if (Double.parseDouble(kuang.getText()) == 0)
{
clickable = false;
}
else
answerd /= Double.parseDouble(kuang.getText());
break;
default:
answerd = Double.parseDouble(kuang.getText());
}
kuang.setText("");
prekey = key = 1;
}
if (temp == buttoncheng)
{
switch (prekey)
{
case 0:
answerd += Double.parseDouble(kuang.getText());
break;
case 1:
answerd -= Double.parseDouble(kuang.getText());
break;
case 2:
answerd *= Double.parseDouble(kuang.getText());
break;
case 3:
if (Double.parseDouble(kuang.getText()) == 0)
{
clickable = false;
}
else
answerd /= Double.parseDouble(kuang.getText());
break;
default:
answerd = Double.parseDouble(kuang.getText());
}
kuang.setText("");
prekey = key = 2;
}
if (temp == buttonchu)
{
switch (prekey)
{
case 0:
answerd += Double.parseDouble(kuang.getText());
break;
case 1:
answerd -= Double.parseDouble(kuang.getText());
break;
case 2:
answerd *= Double.parseDouble(kuang.getText());
break;
case 3:
if (Double.parseDouble(kuang.getText()) == 0)
{
clickable = false;
}
else
answerd /= Double.parseDouble(kuang.getText());
break;
default:
answerd = Double.parseDouble(kuang.getText());
}
kuang.setText("");
prekey = key = 3;
}
if (temp == buttondeng && clickable == true)
{
if (prekey == 5)
{
if (key == 0)
{
answerd += vard;
kuang.setText(df.format(answerd));
}
if (key == 1)
{
answerd -= vard;
kuang.setText(df.format(answerd));
}
if (key == 2)
{
answerd *= vard;
kuang.setText(df.format(answerd));
}
if (key == 3)
{
if (Double.parseDouble(kuang.getText()) == 0)
{
clickable = false;
}
else
{
answerd /= vard;
kuang.setText(df.format(answerd));
}
}
}
else
{
vard = Double.parseDouble(kuang.getText());
if (key == 0)
{
prekey = -1;
answerd += Double.parseDouble(kuang.getText());
kuang.setText(df.format(answerd));
}
if (key == 1)
{
prekey = -1;
answerd -= Double.parseDouble(kuang.getText());
kuang.setText(df.format(answerd));
}
if (key == 2)
{
prekey = -1;
answerd *= Double.parseDouble(kuang.getText());
kuang.setText(df.format(answerd));
}
if (key == 3)
{
prekey = -1;
if (Double.parseDouble(kuang.getText()) == 0)
{
clickable = false;
}
else
{
answerd /= Double.parseDouble(kuang.getText());
kuang.setText(df.format(answerd));
}
}
}
prekey = 5;
}
if (isdian == true)
{
memoryd = Double.parseDouble(kuang.getText());
memoryi = 0;
}
else
{
memoryi = Integer.parseInt(kuang.getText());
memoryd = 0;
}
if (temp == buttontui && clickable == true)
{
String s = kuang.getText();
kuang.setText("");
for (int i = 0; i < s.length() - 1; i++)
{
char a = s.charAt(i);
kuang.setText(kuang.getText() + a);
}
}
if (temp == buttonclear)
{
vard = answerd = 0;
kuang.setText("");
clickable = true;
}
if (temp == copyItem)
{
copy = kuang.getText();
}
if (temp == pasteItem)
{
kuang.setText(copy);
}
if (temp == aboutItem)
{
JOptionPane.showMessageDialog(panel, "网管 计算器\n作者:华");
}}
}catch (Exception e)
{
kuang.setText("操作非法");
clickable = false;
}
}
public static void main(String[] arguments)
{
new wg();
}
}
[CENTER][FONT="楷体"][B][SIZE="4"][COLOR="Red"][/COLOR][/SIZE][/B][/FONT][/CENTER]看我的个人质料 及[url]http://zhh2513.9soho.com/[/url] 我的个人网站
有兴趣可以一起创业 没兴趣可以做朋友一起讨论