Java:将Component设置在另一个之上

时间:2011-02-23 21:32:39

标签: java swing jpanel

我正在用java编写程序。我有一个主要的JPanel,它有两个JPanel和一个Canvas。我的目标是在运行程序时调整Canvas的大小。当我最大化Canvas时,我希望它始终位于另一个组件之上。
如何为Canvas设置此属性?

2 个答案:

答案 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)设置其他组件的图层,从而允许它们重叠。