我正在用java编写程序。我有一个主要的JPanel,它有两个JPanel和一个Canvas。我的目标是在运行程序时调整Canvas的大小。当我最大化Canvas时,我希望它始终位于另一个组件之上。
如何为Canvas设置此属性?
答案 0 :(得分:19)
您可以使用JLayeredPanel替换主JPanel。通过分层面板,您可以指定某些子组件应该分层在其他子组件之上。
即:
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);
答案 1 :(得分:4)
将您的主要JPanel设为JLayeredPane
然后,您可以使用setLayer(Component c, int layer)
设置其他组件的图层,从而允许它们重叠。