gpt4 book ai didi

Java : JLayeredPane resize problem

转载 作者:行者123 更新时间:2023-11-30 05:05:45 26 4
gpt4 key购买 nike

我正在用java编写一个GUI程序。我想要一个 JLayeredPane 作为我的 JFrame 的 ContentPane。在我的 JLayeredPane 上有两层:一层是 Canvas(canvas1),另一层有 JPanel(jPanel5)。我使用 Netbeans IDE 并生成以下代码:

    canvas1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
canvas1.setBounds(0, 0, -1, -1);
jLayeredPane1.add(canvas1, javax.swing.JLayeredPane.PALETTE_LAYER);

jPanel5.setBounds(0, 0, 670, 550);
jLayeredPane1.add(jPanel5, javax.swing.JLayeredPane.DEFAULT_LAYER);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 670, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 553, Short.MAX_VALUE)
);

打包();

当我运行程序时,我看到了一个奇怪的事件!当我改变 JFrame 的大小时;主 JLayeredPane 的大小没有改变。我对组件使用了不同的背景颜色,对我来说很明显,JLayered 的大小是永久的,但是我在其属性中将其设置为垂直和水平可调整大小。 JFrame 的大小是可调整的,但主 jLayeredPane 的大小是永久的。

如何使 jLayeredPane 调整为我的 JFrame 大小?!

谢谢

enter image description here

最佳答案

尝试使用默认的 BorderLayout 而不是您现在使用的 GroupLayout。只需注释掉以创建 GroupLayout 开头的行组并添加以下行:

getContentPane().add(jLayeredPane, BorderLayout.CENTER);

.add() 方法的 BorderLayout.CENTER 参数告诉 BorderLayout 管理器您希望给定的小部件填充窗口的中心。

关于Java : JLayeredPane resize problem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5140573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com