我有一个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);
}
答案 0 :(得分:2)
菜单栏甚至不应位于内部面板或组件可以阻止它的位置。如果这是一个JFrame应用程序,那么应该通过其setJMenuBar(...)
方法将JMenuBar直接添加到JFrame。然后可以将JDesktopPane添加到JFrame BorderLayout.CENTER,并将JInternalFrame添加到JDesktopPane。这样就无法覆盖菜单栏。