0

我有一个 JDesktopPane,里面有一个面板。我在顶部还有一个帮助菜单。

当它绘制面板时,它会将其绘制在菜单栏的顶部,从而挡住菜单栏。

如何将面板发送到后面,解除菜单栏的阻塞?

这是构造函数。

public Desktop () {
   Toolkit toolkit = Toolkit.getDefaultToolkit();
   Dimension scrnsize = toolkit.getScreenSize();
   desktop.setBackground(Color.orange); 
   desktopFrame.setContentPane(desktop);
   desktopFrame.addKeyListener(this);
   desktopFrame.setVisible(true);
   desktopFrame.setSize(scrnsize);

   desktopBackground = new JPanel();
   desktopBackground.setLocation(30 , 10);
   desktopBackground.setSize(100, 110);
   desktopBackground.setBackground(Color.red);

    setJMenuBar(menuBar);       

    menuBar.add(startButton);       
    startButton.add(programsButton);        
    programsButton.add(terminalButton);
    desktopFrame.setJMenuBar(menuBar);

    terminalButton.addActionListener(this);

    desktop.add(menuBar);
    desktop.add(desktopBackground);
}
4

1 回答 1

2

菜单栏甚至不应该位于内部面板或组件可以阻止它的位置。setJMenuBar(...)如果这是一个 JFrame 应用程序,则应通过其方法将 JMenuBar 直接添加到 JFrame 。然后可以将 JDesktopPane 添加到 JFrame BorderLayout.CENTER,并将 JInternalFrames 添加到 JDesktopPane。这样就没有机会覆盖菜单栏。

于 2012-11-26T05:20:18.190 回答