空指针异常报错,就解答!!
牙疼格尔 2015-10-19 10:13:12 package SwingTest;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.logging.Handler;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JTextField;
public class Mymenu extends JFrame {
JTextField jt;
ButtonGroup colorgroup;
JRadioButtonMenuItem[] coloritem;
Color[] colorvalues = { Color.GREEN, Color.YELLOW, Color.BLACK, Color.RED };
public Mymenu() {
JMenu colormenu = new JMenu("COLOR(C)");
colormenu.setMnemonic('C');
String[] colornames = { "GREEN", "YELLOW", "BLACK", "RED" };
colorgroup = new ButtonGroup();
for (int i = 0; i < colornames.length; i++) {
coloritem = new JRadioButtonMenuItem[colornames.length];
colorgroup.add(coloritem[i]);
colormenu.add(coloritem[i]);
coloritem[i].addActionListener(new Handler());
}
add(jt);
JMenuBar bar = new JMenuBar();
setJMenuBar(bar);
bar.add(colormenu);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(500, 350, 600, 400);
setVisible(true);
setResizable(false);
}
class Handler implements ActionListener {
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < coloritem.length; i++) {
if (coloritem[i].isSelected())
jt.setForeground(colorvalues[i]);
break;
}
}
}
public static void main(String[] args) {
Mymenu jf = new Mymenu();
jf.setTitle("Test Window");
}
}
Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1090)
at java.awt.Container.add(Container.java:410)
at javax.swing.JPopupMenu.add(JPopupMenu.java:290)
at javax.swing.JMenu.add(JMenu.java:579)
at SwingTest.Mymenu.<init>(Mymenu.java:30)
at SwingTest.Mymenu.main(Mymenu.java:56)