有界面,运行时NullPointerException,不知道哪不对,求指导,代码如下import java.awt.*;
import java.awt.event.*;import javax.swing.*;public class MenuFrame implements ActionListener,ItemListener{
JFrame mFrame;
JMenuBar menuBar;
JMenu menu,help,subMenu;
JTextArea textArea;
JMenuItem redItem,blueItem,exitItem,helpItem;
JCheckBoxMenuItem cbItem;
public void go(){
mFrame=new JFrame();
mFrame.setSize(600,400);
mFrame.setResizable(false);
JTextArea textArea=new JTextArea();
textArea.setEditable(false);
JScrollPane scroll=new JScrollPane(textArea);
scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
menuBar=new JMenuBar ();
menu=new JMenu("Manage");
menuBar.add(menu);
subMenu=new JMenu("Color");
menu.add(subMenu);
redItem=new JMenuItem("Red");
blueItem=new JMenuItem("Blue");
subMenu.add(redItem);
subMenu.add(blueItem);
menu.addSeparator();
cbItem=new JCheckBoxMenuItem("Check Box");
menu.add(cbItem);
exitItem=new JMenuItem("Exit");
menu.add(exitItem);
help=new JMenu("Help");
//menuBar.setHelpMenu(help);
menuBar.add(help);
helpItem=new JMenuItem("help");
help.add(helpItem);
mFrame.setJMenuBar(menuBar);
mFrame.getContentPane().add(scroll,BorderLayout.CENTER);
mFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mFrame.setVisible(true);
redItem.addActionListener(new RedListener());
blueItem.addActionListener(new BlueListener());
cbItem.addItemListener(new CBListener());
helpItem.addActionListener(new HelpListener());
exitItem.addActionListener(new ExitListener());
}
public static void main(String args[]) throws Exception{
MenuFrame frame=new MenuFrame();
frame.go();
}
class RedListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
textArea.setForeground(Color.RED);
System.out.println("change color");
}
}
class BlueListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
textArea.setForeground(Color.BLUE);
System.out.println("change color");
}
}
class CBListener implements ItemListener{
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange()==ItemEvent.SELECTED){
textArea.append("Check Box is checked\n");
System.out.println("checked");
}
else{
textArea.append("Check Box is un-checked\n");
System.out.println("unchecked");
}
}
}
class HelpListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
System.out.println("help");
textArea.append("this is help message:\n");
textArea.append("manage->color button can change text color\n");
textArea.append("after check is check or un-checked,text will display result\n");
}
}
class ExitListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
}
import java.awt.event.*;import javax.swing.*;public class MenuFrame implements ActionListener,ItemListener{
JFrame mFrame;
JMenuBar menuBar;
JMenu menu,help,subMenu;
JTextArea textArea;
JMenuItem redItem,blueItem,exitItem,helpItem;
JCheckBoxMenuItem cbItem;
public void go(){
mFrame=new JFrame();
mFrame.setSize(600,400);
mFrame.setResizable(false);
JTextArea textArea=new JTextArea();
textArea.setEditable(false);
JScrollPane scroll=new JScrollPane(textArea);
scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
menuBar=new JMenuBar ();
menu=new JMenu("Manage");
menuBar.add(menu);
subMenu=new JMenu("Color");
menu.add(subMenu);
redItem=new JMenuItem("Red");
blueItem=new JMenuItem("Blue");
subMenu.add(redItem);
subMenu.add(blueItem);
menu.addSeparator();
cbItem=new JCheckBoxMenuItem("Check Box");
menu.add(cbItem);
exitItem=new JMenuItem("Exit");
menu.add(exitItem);
help=new JMenu("Help");
//menuBar.setHelpMenu(help);
menuBar.add(help);
helpItem=new JMenuItem("help");
help.add(helpItem);
mFrame.setJMenuBar(menuBar);
mFrame.getContentPane().add(scroll,BorderLayout.CENTER);
mFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mFrame.setVisible(true);
redItem.addActionListener(new RedListener());
blueItem.addActionListener(new BlueListener());
cbItem.addItemListener(new CBListener());
helpItem.addActionListener(new HelpListener());
exitItem.addActionListener(new ExitListener());
}
public static void main(String args[]) throws Exception{
MenuFrame frame=new MenuFrame();
frame.go();
}
class RedListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
textArea.setForeground(Color.RED);
System.out.println("change color");
}
}
class BlueListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
textArea.setForeground(Color.BLUE);
System.out.println("change color");
}
}
class CBListener implements ItemListener{
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange()==ItemEvent.SELECTED){
textArea.append("Check Box is checked\n");
System.out.println("checked");
}
else{
textArea.append("Check Box is un-checked\n");
System.out.println("unchecked");
}
}
}
class HelpListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
System.out.println("help");
textArea.append("this is help message:\n");
textArea.append("manage->color button can change text color\n");
textArea.append("after check is check or un-checked,text will display result\n");
}
}
class ExitListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
}
import java.awt.*;
import java.awt.event.*;import javax.swing.*;public class MenuFrame implements ActionListener,ItemListener{
JFrame mFrame;
JMenuBar menuBar;
JMenu menu,help,subMenu;
JTextArea textArea;
JMenuItem redItem,blueItem,exitItem,helpItem;
JCheckBoxMenuItem cbItem;
public void go(){
mFrame=new JFrame();
mFrame.setSize(600,400);
mFrame.setResizable(false);
JTextArea textArea=new JTextArea();
textArea.setEditable(false);
JScrollPane scroll=new JScrollPane(textArea);
scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
menuBar=new JMenuBar ();
menu=new JMenu("Manage");
menuBar.add(menu);
subMenu=new JMenu("Color");
menu.add(subMenu);
redItem=new JMenuItem("Red");
blueItem=new JMenuItem("Blue");
subMenu.add(redItem);
subMenu.add(blueItem);
menu.addSeparator();
cbItem=new JCheckBoxMenuItem("Check Box");
menu.add(cbItem);
exitItem=new JMenuItem("Exit");
menu.add(exitItem);
help=new JMenu("Help");
//menuBar.setHelpMenu(help);
menuBar.add(help);
helpItem=new JMenuItem("help");
help.add(helpItem);
mFrame.setJMenuBar(menuBar);
mFrame.getContentPane().add(scroll,BorderLayout.CENTER);
mFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mFrame.setVisible(true);
redItem.addActionListener(new RedListener());
blueItem.addActionListener(new BlueListener());
cbItem.addItemListener(new CBListener());
helpItem.addActionListener(new HelpListener());
exitItem.addActionListener(new ExitListener());
}
public static void main(String args[]) throws Exception{
MenuFrame frame=new MenuFrame();
frame.go();
}
class RedListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
textArea.setForeground(Color.RED);
}
}
class BlueListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
textArea.setForeground(Color.BLUE);
}
}
class CBListener implements ItemListener{
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange()==ItemEvent.SELECTED){
textArea.append("Check Box is checked\n");
}
else{
textArea.append("Check Box is un-checked\n");
}
}
}
class HelpListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
textArea.append("this is help message:\n");
textArea.append("manage->color button can change text color\n");
textArea.append("after check is check or un-checked,text will display result\n");
}
}
class ExitListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
}
import java.awt.event.*;import javax.swing.*;public class MenuFrame{
JFrame mFrame;
JMenuBar menuBar;
JMenu menu,help,subMenu;
JTextArea textArea;
JMenuItem redItem,blueItem,exitItem,helpItem;
JCheckBoxMenuItem cbItem;
public void go(){
mFrame=new JFrame();
mFrame.setSize(600,400);
//mFrame.setResizable(false);
//mFrame.setLayout(new GridLayout());
final JTextArea textArea=new JTextArea();
//textArea.setEditable(false);
JScrollPane scroll=new JScrollPane(textArea);
scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
menuBar=new JMenuBar ();
menu=new JMenu("Manage");
menuBar.add(menu);
subMenu=new JMenu("Color");
menu.add(subMenu);
redItem=new JMenuItem("Red");
blueItem=new JMenuItem("Blue");
subMenu.add(redItem);
subMenu.add(blueItem);
menu.addSeparator();
cbItem=new JCheckBoxMenuItem("Check Box");
menu.add(cbItem);
exitItem=new JMenuItem("Exit");
menu.add(exitItem);
help=new JMenu("Help");
//menuBar.setHelpMenu(help);
menuBar.add(help);
helpItem=new JMenuItem("help");
help.add(helpItem);
mFrame.setJMenuBar(menuBar);
mFrame.getContentPane().add(scroll,BorderLayout.CENTER);
mFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mFrame.setVisible(true);
redItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
redItem.setForeground(Color.RED);
System.out.println("Check!");
}
});
blueItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
blueItem.setForeground(Color.BLUE);
}
});
cbItem.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange()==ItemEvent.SELECTED){
textArea.append("Check Box is checked\n");
}
else{
textArea.append("Check Box is un-checked\n");
}
}
});
helpItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textArea.append("this is help message:\n");
textArea.append("manage->color button can change text color\n");
textArea.append("after check is check or un-checked,text will display result\n");
}
});
exitItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
}
public static void main(String args[]) throws Exception{
MenuFrame frame=new MenuFrame();
frame.go();
}
}