import java.awt.*;
import java.awt.event.*;
public class TestMenuBar {
MenuBar menubar=new MenuBar();
Menu file=new Menu("File");
Menu edit=new Menu("Edit");
Menu tools=new Menu("Tools");
Menu viewer=new Menu("Viewer");
Menu help=new Menu("Help");
MenuItem newItem=new MenuItem("new");
MenuItem openItem=new MenuItem("Open");
MenuItem saveItem=new MenuItem("Save");
Menu print=new Menu("Print");
MenuItem print1=new MenuItem("Print1");
MenuItem print2=new MenuItem("Print2");
CheckboxMenuItem closeItem=new CheckboxMenuItem("Close");
MenuListener m=new MenuListener();
print1.addActionListener(m);
print2.addAciotnListener(m); public TestMenuBar()
{
FlowLayout fl=new FlowLayout();
Frame f=new Frame("TestMenuBar");
f.setLayout(fl);
menubar.add(file);
menubar.add(edit);
menubar.add(tools);
menubar.add(viewer);
menubar.add(help);
file.add(newItem);
file.add(openItem);
file.add(saveItem);
file.add(print);
print.add(print1);
print.add(print2);
file.addSeparator();
f.setMenuBar(menubar);
f.setVisible(true);
f.setBounds(0, 0, 300, 300);
f.setVisible(true);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
//f.setVisible(true);
}
public static void main(String[] args) {
// TODO 自动生成方法存根
new TestMenuBar();
}}
class MenuListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("print1"))
System.out.println("runing print1");
else if(e.getActionCommand().equals("print2"))
System.out.println("running print2");
}
}是用Frame 做的一个菜单窗口,无法运行,看看什么问题...
import java.awt.event.*;
public class TestMenuBar {
MenuBar menubar=new MenuBar();
Menu file=new Menu("File");
Menu edit=new Menu("Edit");
Menu tools=new Menu("Tools");
Menu viewer=new Menu("Viewer");
Menu help=new Menu("Help");
MenuItem newItem=new MenuItem("new");
MenuItem openItem=new MenuItem("Open");
MenuItem saveItem=new MenuItem("Save");
Menu print=new Menu("Print");
MenuItem print1=new MenuItem("Print1");
MenuItem print2=new MenuItem("Print2");
CheckboxMenuItem closeItem=new CheckboxMenuItem("Close");
MenuListener m=new MenuListener();
print1.addActionListener(m);
print2.addAciotnListener(m); public TestMenuBar()
{
FlowLayout fl=new FlowLayout();
Frame f=new Frame("TestMenuBar");
f.setLayout(fl);
menubar.add(file);
menubar.add(edit);
menubar.add(tools);
menubar.add(viewer);
menubar.add(help);
file.add(newItem);
file.add(openItem);
file.add(saveItem);
file.add(print);
print.add(print1);
print.add(print2);
file.addSeparator();
f.setMenuBar(menubar);
f.setVisible(true);
f.setBounds(0, 0, 300, 300);
f.setVisible(true);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
//f.setVisible(true);
}
public static void main(String[] args) {
// TODO 自动生成方法存根
new TestMenuBar();
}}
class MenuListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("print1"))
System.out.println("runing print1");
else if(e.getActionCommand().equals("print2"))
System.out.println("running print2");
}
}是用Frame 做的一个菜单窗口,无法运行,看看什么问题...
print2.addAciotnListener(m);(这里打错了).这是第一个错.
第二个错是把这2句放到构造函数里去就可以了.
import java.awt.*;
import java.awt.event.*;public class TestMenuBar {
MenuBar menubar = new MenuBar(); Menu file = new Menu("File"); Menu edit = new Menu("Edit"); Menu tools = new Menu("Tools"); Menu viewer = new Menu("Viewer"); Menu help = new Menu("Help"); MenuItem newItem = new MenuItem("new"); MenuItem openItem = new MenuItem("Open"); MenuItem saveItem = new MenuItem("Save"); Menu print = new Menu("Print"); MenuItem print1 = new MenuItem("Print1"); MenuItem print2 = new MenuItem("Print2"); CheckboxMenuItem closeItem = new CheckboxMenuItem("Close"); MenuListener m = new MenuListener(); public TestMenuBar() {
FlowLayout fl = new FlowLayout();
Frame f = new Frame("TestMenuBar");
f.setLayout(fl);
menubar.add(file);
menubar.add(edit);
menubar.add(tools);
menubar.add(viewer);
menubar.add(help);
file.add(newItem);
file.add(openItem);
file.add(saveItem);
file.add(print);
print.add(print1);
print.add(print2);
file.addSeparator();
f.setMenuBar(menubar);
f.setVisible(true);
f.setBounds(0, 0, 300, 300);
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//要写在方法体内
print1.addActionListener(m);
print2.addActionListener(m);
// f.setVisible(true);
} public static void main(String[] args) {
// TODO 自动生成方法存根
new TestMenuBar();
}}class MenuListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("print1"))
System.out.println("runing print1");
else if (e.getActionCommand().equals("print2"))
System.out.println("running print2");
}
}
import java.awt.*;
import java.awt.event.*;public class TestMenuBar {
MenuBar menubar = new MenuBar(); Menu file = new Menu("File"); Menu edit = new Menu("Edit"); Menu tools = new Menu("Tools"); Menu viewer = new Menu("Viewer"); Menu help = new Menu("Help"); MenuItem newItem = new MenuItem("new"); MenuItem openItem = new MenuItem("Open"); MenuItem saveItem = new MenuItem("Save"); Menu print = new Menu("Print"); MenuItem print1 = new MenuItem("Print1"); MenuItem print2 = new MenuItem("Print2"); CheckboxMenuItem closeItem = new CheckboxMenuItem("Close"); MenuListener m = new MenuListener(); // print1.addActionListener(m);
// print2.addActionListener(m) public TestMenuBar() {
FlowLayout fl = new FlowLayout();
Frame f = new Frame("TestMenuBar");
f.setLayout(fl);
menubar.add(file);
menubar.add(edit);
menubar.add(tools);
menubar.add(viewer);
menubar.add(help);
file.add(newItem);
file.add(openItem);
file.add(saveItem);
file.add(print);
print.add(print1);
print.add(print2);
file.addSeparator();
f.setMenuBar(menubar);
f.setVisible(true);
f.setBounds(0, 0, 300, 300);
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//要写到方法里
print1.addActionListener(m);
print2.addActionListener(m);
f.setVisible(true);
} public static void main(String[] args) {
new TestMenuBar();
}}class MenuListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Print1"))//Print1 p要大写
System.out.println("runing print1");
else if (e.getActionCommand().equals("Print2"))//Print2 p要大写
System.out.println("running print2");
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class TestMenuBar {
MenuBar menubar = new MenuBar();
Menu file=new Menu("File");
Menu edit=new Menu("Edit");
Menu tools=new Menu("Tools");
Menu viewer=new Menu("Viewer");
Menu help=new Menu("Help");
MenuItem newItem=new MenuItem("new");
MenuItem openItem=new MenuItem("Open");
MenuItem saveItem=new MenuItem("Save");
Menu print=new Menu("Print");
MenuItem print1=new MenuItem("Print1");
MenuItem print2=new MenuItem("Print2"); CheckboxMenuItem closeItem = new CheckboxMenuItem("Close"); public TestMenuBar() {
FlowLayout fl=new FlowLayout();
Frame f=new Frame("TestMenuBar");
MenuListener m = new MenuListener(f);
print1.addActionListener(m);
print2.addActionListener(m);
f.setLayout(fl);
menubar.add(file);
menubar.add(edit);
menubar.add(tools);
menubar.add(viewer);
menubar.add(help);
file.add(newItem);
file.add(openItem);
file.add(saveItem);
file.add(print);
print.add(print1);
print.add(print2);
file.addSeparator();
f.setMenuBar(menubar);
f.setVisible(true);
f.setBounds(0, 0, 300, 300);
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//f.setVisible(true);
}
public static void main(String[] args) {
// TODO 自动生成方法存根
new TestMenuBar();
}}class MenuListener implements ActionListener {
Frame frame = null;
public MenuListener(Frame frame) {
this.frame = frame;
}
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().toLowerCase().equals("print1")) {
//System.out.println("runing print1");
JOptionPane.showMessageDialog(frame, "Information goes here", e.getActionCommand(), JOptionPane.INFORMATION_MESSAGE);
} else if(e.getActionCommand().toLowerCase().equals("print2")) {
//System.out.println("running print2");
JOptionPane.showMessageDialog(frame, "Information goes here", e.getActionCommand(), JOptionPane.INFORMATION_MESSAGE);
} else {
//System.out.println("What can I do for you? - " + e.getActionCommand());
JOptionPane.showMessageDialog(frame, "What can I do for you?", e.getActionCommand(), JOptionPane.INFORMATION_MESSAGE);
}
}
}