import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class can1 extends JFrame{
private JMenuBar j1;
private JMenu ja1,ja2,ja3,ja4,ja5,ja6;
private JMenuItem jb1,jb2,jb3,jb4,jb5,jb6,jb7,jb8;
private JCheckBoxMenuItem jc1,jc2,jc3,jc4;
private JRadioButtonMenuItem jd1,jd2;
public can1(){
super("candan");
setSize(900,450);
setDefaultCloseOperation(this.EXIT_ON_CLOSE);
Container con= getContentPane();
JFrame frame = new JFrame("TestTabbed");
JPanel p1=new JPanel();
frame.setJMenuBar(j1);
p1.add(j1);
con.add(p1);
j1=new JMenuBar();
ja1=new JMenu("文件(F)");
ja2=new JMenu("编辑(E)");
ja3=new JMenu("视图(U)");
ja4=new JMenu("搜索(S)");
ja5=new JMenu("文档(V)");
ja6=new JMenu("帮助(H)");
jb1=new JMenuItem("打开(O)");
jb2=new JMenuItem("退出(E)");
jb3=new JMenuItem("编辑");
jb4=new JMenuItem("工具栏/窗口");
jb5=new JMenuItem("高亮显示");
jb6=new JMenuItem("搜索");
jb7=new JMenuItem("文档");
jb8=new JMenuItem("帮助");
jc1=new JCheckBoxMenuItem("工具栏");
jc2=new JCheckBoxMenuItem("HTML工具栏");
jc3=new JCheckBoxMenuItem("用户工具栏");
jc4=new JCheckBoxMenuItem("状态栏");
jd1=new JRadioButtonMenuItem("显示高亮");
jd2=new JRadioButtonMenuItem("取消高亮");
j1.add(ja1);
j1.add(ja2);
j1.add(ja3);
j1.add(ja4);
j1.add(ja5);
j1.add(ja6);
ja1.add(jb1);
ja1.add(jb2);
ja2.add(jb3);
ja3.add(jb4);
ja3.add(jb5);
ja4.add(jb6);
ja5.add(jb7);
ja6.add(jb8);
jb4.add(jc1);
jb4.add(jc2);
jb4.add(jc3);
jb4.add(jc4);
jb5.add(jd1);
jb5.add(jd2);}
public static void main(String[] args){
can1 ca=new can1();
ca.show();
}}
这条程序编译没错..
但运行时出现了点错误..但不知道怎么改正..
看了很多例子也不知道错哪里..
所以想请这么多位高手帮帮忙了..
[此贴子已经被作者于2007-5-23 20:25:20编辑过]
----------------解决方案--------------------------------------------------------
ca.show(); 你是show 方法在哪里呢?没有show方法当然不能运行啦!
----------------解决方案--------------------------------------------------------
应该先初始化,再加入
----------------解决方案--------------------------------------------------------
SHOW方法在类中没定义啊,当然白怒行了,你需要先定义SHOW方法啊!
----------------解决方案--------------------------------------------------------
show方法是有定义的,只不过过时了,应该改为setVisible(true)
----------------解决方案--------------------------------------------------------
一般最好不要用show,直接用setVisible().
----------------解决方案--------------------------------------------------------
谢谢哈!
----------------解决方案--------------------------------------------------------
show()是1.5之前刷新组件的,现在一般使用updateUI();
至于错误我就不帮找了,但是提几个建议,一般情况下不定义那么多的组件(除非必须),你的完全可以只定义1个MENU和1个MENUITEM就成,只要改名称就行了,事件里使用GETA....();还有就是尽量不要把组件添加到构造方法中,尤其是像JMENU这样的需要很多行的,尽量单独写1个方法,也便于你的维护与更新,方法名一般为build....();
----------------解决方案--------------------------------------------------------