下拉菜单项会被panel隐藏掉,怎么才能正常显示
code:public class TestMenu extends JMenuBar {     JFrame y;
         public TestMenu (JFrame f){
this.y=f;
} public void load() {
JMenu m=new JMenu("File");
JMenuItem item1=new JMenuItem("Start");
JMenuItem item2=new JMenuItem("Exit");
m.add(item1);
m.add(item2);
this.add(m);
y.setJMenuBar(this);
}     public static void main(String[] args) {
JFrame f=new JFrame();
JScrollPane srollPane=new JScrollPane();
Panel panel=new Panel();
panel.setSize(300, 300);
panel.setBackground(Color.GRAY);
srollPane.add(panel);
f.add(srollPane);

TestMenu m=new TestMenu(f); //菜单
m.load();

f.setSize(300, 300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}

解决方案 »

  1.   

    调整一下代码:public class TestMenu extends JMenuBar { JFrame y; public TestMenu(JFrame f) {
    this.y = f;
    } public void load() {
    JMenu m = new JMenu("File");
    JMenuItem item1 = new JMenuItem("Start");
    JMenuItem item2 = new JMenuItem("Exit");
    m.add(item1);
    m.add(item2);
    this.add(m);
    y.setJMenuBar(this);
    } public static void main(String[] args) {
    JFrame f = new JFrame();
    JScrollPane srollPane = new JScrollPane();
    Panel panel = new Panel();
    panel.setSize(300, 300);
    panel.setBackground(Color.GRAY);
    srollPane.add(panel);
    f.add(srollPane); TestMenu m = new TestMenu(f);
    m.load(); f.setSize(300, 300);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setVisible(true);
    }
    }
      

  2.   

    Panel panel = new Panel();换用JPanel控件,AWT和Swing不好混用的。
      

  3.   

    和楼上想法差不多。由于Swing是继承awt的,所以如果调用AWT将在一定程度上覆盖Swing,从而使Swing不可见。一般情况下,AWT和Swing不要混用。