eclipse 编程用户图形界面问题!

我想编一个类似记事本的菜单栏,代码写好后,在eclipse中没有显示有错,但是运行的话却始终没有弹出运行结果的窗口,这是怎么回事????

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class jm extends JFrame{
Container a;
private JMenuBar bar;
private JMenu file,edit,help;
private JMenuItem New,open,exit,about;
private JMenu font,color;
private JRadioButtonMenuItem red ,blue,green;
public jm(){
setTitle("Menu Demo");
a=getContentPane();
a.add(bar);
bar=new JMenuBar();
setJMenuBar(bar);
file=new JMenu("文件");
edit=new JMenu("编辑");
help=new JMenu("帮助");
bar.add(file);
bar.add(edit);
bar.add(help);
New=new JMenuItem("新建");
open=new JMenuItem("打开");
exit=new JMenuItem("退出");
New.setMnemonic('N'); //助记符:相当与菜单下拉时键盘上对应的快捷键。
open.setMnemonic('O');
exit.setMnemonic('E');
file.setMnemonic('F');
file.add(New);
file.add(open);
file.addSeparator();
file.add(new JMenuItem("打印"));
file.addSeparator();
file.add(exit);

font=new JMenu("字体");
edit.add(font);
font.add(new JMenuItem("默认"));
font.add(new JMenuItem("加粗"));
font.add(new JMenuItem("斜体"));
edit.add(new JCheckBoxMenuItem("格式"));

edit.add(color);
color=new JMenu("颜色");
color.add(red);
color.add(blue);
color.add(green);
red=new JRadioButtonMenuItem("红");
blue=new JRadioButtonMenuItem("蓝");
green=new JRadioButtonMenuItem("绿");
ButtonGroup btg=new ButtonGroup();// ButtonGroup不是组件,不能放在容器中。这个组中的按钮只能一个选中。
btg.add(red);
btg.add(blue);
btg.add(green);

help.setMnemonic('H');
help.add(about=new JMenuItem("关于"));

exit.addActionListener(new MenuL());
about.addActionListener(new MenuL());
setSize(300,200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}
public class MenuL implements ActionListener{
public void actionPerformed(ActionEvent e){
String m=e.getActionCommand();
if(m.equals("about")){
JOptionPane.showMessageDialog(jm.this,"梦禧文档编辑器v1.0");
}
if(m.equals("exit")){
System.exit(1);
}
}
}
public static void main(String args[]){
JFrame f=new JFrame();

}

}

帮你改了一下,可以显示了:

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class jm extends JFrame{
Container a;
private JMenuBar bar;
private JMenu file,edit,help;
private JMenuItem New,open,exit,about;
private JMenu font,color;
private JRadioButtonMenuItem red ,blue,green;
public jm(){
setTitle("Menu Demo");
a=getContentPane();
bar=new JMenuBar();
a.add(bar);
setJMenuBar(bar);
file=new JMenu("文件");
edit=new JMenu("编辑");
help=new JMenu("帮助");
bar.add(file);
bar.add(edit);
bar.add(help);
New=new JMenuItem("新建");
open=new JMenuItem("打开");
exit=new JMenuItem("退出");
New.setMnemonic('N'); //助记符:相当与菜单下拉时键盘上对应的快捷键。
open.setMnemonic('O');
exit.setMnemonic('E');
file.setMnemonic('F');
file.add(New);
file.add(open);
file.addSeparator();
file.add(new JMenuItem("打印"));
file.addSeparator();
file.add(exit);

font=new JMenu("字体");
edit.add(font);
font.add(new JMenuItem("默认"));
font.add(new JMenuItem("加粗"));
font.add(new JMenuItem("斜体"));
edit.add(new JCheckBoxMenuItem("格式"));

red=new JRadioButtonMenuItem("红");
blue=new JRadioButtonMenuItem("蓝");
green=new JRadioButtonMenuItem("绿");

color=new JMenu("颜色");
edit.add(color);
color.add(red);
color.add(blue);
color.add(green);

ButtonGroup btg=new ButtonGroup();// ButtonGroup不是组件,不能放在容器中。这个组中的按钮只能一个选中。
btg.add(red);
btg.add(blue);
btg.add(green);

help.setMnemonic('H');
help.add(about=new JMenuItem("关于"));

exit.addActionListener(new MenuL());
about.addActionListener(new MenuL());
setSize(300,200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}
public class MenuL implements ActionListener{
public void actionPerformed(ActionEvent e){
String m=e.getActionCommand();
if(m.equals("about")){
JOptionPane.showMessageDialog(jm.this,"梦禧文档编辑器v1.0");
}
if(m.equals("exit")){
System.exit(1);
}
}
}
public static void main(String args[]){
jm f=new jm();

}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-24
亲,求JAVA高手..
第2个回答  2012-06-24
没设置VISIBLE属性,当然无法显示。
相似回答