import javax.swing.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
class mywindow extends JFrame
{
  mywindow()
  {super("我的窗口");
   setSize(300,300);
   setVisible(true);
   JMenuBar menubar=new JMenuBar();
   JMenu    menu1  =new JMenu("文件");
   JMenu    menu2  =new JMenu("编辑");
   JMenuItem Item1=new JMenuItem("保存");
   JMenuItem Item2=new JMenuItem("打开");
   menubar.add(menu1);
   menubar.add(menu2);
   menu1.add(Item1);
   menu1.add(Item2);
   Container con=getContentPane();
   con.add(menubar);
   con.setBackground(Color.blue);
   con.setVisible(true);
   con.setSize(200,200);
   JFrame frame=new JFrame();
   Toolkit tool=frame.getToolkit();
   Image myimage=tool.getImage("ha.jpg");
   frame.setIconImage(myimage);
   /*addwindowListener(new WindowAdapter()
   {
    public void WindowClosing(WindowEvent e)
         {System.exit(0);}
   }*/
 }
}
public class a1 extends Applet 
{
  public void inint()
    {mywindow a=new mywindow();
     a.pack();
    }
}
为什么执行不出来我想要的结果:
带有菜单栏的窗口

解决方案 »

  1.   

    没怎么变化
    import javax.swing.*;
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    class mywindow extends JFrame
    {
    mywindow()
    {
    setTitle("我的窗口");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(300,300);
    setVisible(true);
    JMenuBar menubar=new JMenuBar();
    JMenu menu1 =new JMenu("文件");
    JMenu menu2 =new JMenu("编辑");
    JMenuItem Item1=new JMenuItem("保存");
    JMenuItem Item2=new JMenuItem("打开");
    menubar.add(menu1);
    menubar.add(menu2);
    menu1.add(Item1);
    menu1.add(Item2);
    Container con=getContentPane();
    con.add(menubar, "North");
    con.setBackground(Color.blue);
    con.setVisible(true);
    con.setSize(200,200);
    JFrame frame=new JFrame();
    Toolkit tool=frame.getToolkit();
    Image myimage=tool.getImage("ha.jpg");
    frame.setIconImage(myimage);
    }
    }
    public class a1
    {
    public static void main(String[] args)
    {
    mywindow a=new mywindow();
    a.setVisible(true);
    }
    }
      

  2.   

    构造方法中要写
    setVisible(true);
    就放到构造方法的最后
    要不setVisible(true);后添加的组件不能在第一次
    显示,必须重画才能显示