首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java : JLayeredPane调整大小问题

Java : JLayeredPane调整大小问题
EN

Stack Overflow用户
提问于 2011-02-28 18:05:53
回答 2查看 3.3K关注 0票数 1

我正在用java写一个程序图形用户界面。我想要一个JLayeredPane作为我的JFrame的ContentPane。在我的JLayeredPane上有两层:一层是画布(Canvas1),另一层是JPanel(jPanel5)。我使用Netbeans IDE,生成以下代码:

代码语言:javascript
复制
    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)
    );

pack();

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

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

谢谢

EN

回答 2

Stack Overflow用户

发布于 2011-02-28 18:23:13

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

代码语言:javascript
复制
getContentPane().add(jLayeredPane, BorderLayout.CENTER);

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

票数 1
EN

Stack Overflow用户

发布于 2011-06-15 20:15:08

您可以随JFrame一起更改JLayeredPane。在(NetBeans集成开发环境)设计模式下-右键单击JLayeredPane,然后在弹出菜单中将鼠标悬停在“自动调整大小”上,然后选中垂直和水平。这样,相对于JFrame,JLayeredPane的大小将发生变化。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5140573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档