Java:将一个组件置于另一个组件之上
我正在用java编写一个程序。我有一个主JPanel,其中添加了两个JPanel和一个画布。我的目标是在运行程序时调整画布的大小。当我最大化画布时,我希望它始终位于其他组件的顶部。Java:将一个组件置于另一个组件之上,java,swing,jpanel,Java,Swing,Jpanel,我正在用java编写一个程序。我有一个主JPanel,其中添加了两个JPanel和一个画布。我的目标是在运行程序时调整画布的大小。当我最大化画布时,我希望它始终位于其他组件的顶部。 如何为画布设置此属性?将主JPanel设置为a 然后,您可以使用setLayer(组件c,int层)设置其他组件的层,从而允许它们重叠。您可以使用JLayeredPanel替换主JPanel。分层面板将允许您指定某些子组件应分层在其他子组件之上 即: 我假设您正在谈论将AWT组件画布与Swing组件混合,这就引出了一
如何为画布设置此属性?将主JPanel设置为a
然后,您可以使用setLayer(组件c,int层)设置其他组件的层,从而允许它们重叠。您可以使用JLayeredPanel替换主JPanel。分层面板将允许您指定某些子组件应分层在其他子组件之上 即:
我假设您正在谈论将AWT组件画布与Swing组件混合,这就引出了一个问题,为什么?你确定你真的想这么做吗?你知道其中的技巧和陷阱吗?
JLayeredPane pane = new JLayeredPane();
JLabel ontop = new JLabel("On top");
JLabel behind = new JLabel("Behind");
pane.add(ontop, 2, 0);
pane.add(behind, 1, 0);