为什么我的Java gui会调整标签大小?

时间:2012-02-05 20:32:01

标签: java swing user-interface

我正在尝试使用Netbeans创建一个Java接口,我遇到的问题是,当程序运行时,界面看起来与我在Netbeans中构建它时不同。

更具体地说,看起来在我的标签周围添加了某种不需要的填充。在下图中,右侧显示Netbeans外观,左侧显示应用程序正在运行。

为什么会有这种差异,我怎么能摆脱它呢?谢谢!

java problem

[编辑] 我查看了生成的代码,发现了这个

    jPanel1Layout.setHorizontalGroup(
        jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addComponent(jLabel4)
        .addGroup(jPanel1Layout.createSequentialGroup()
            .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addComponent(jLabel1)

我猜这一行正在添加它:

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

问题是Netbeans不允许您修改生成的代码。

2 个答案:

答案 0 :(得分:2)

Adam,调整大小通常由LayoutManager处理。因此,请确保使用正确的LayoutManger

答案 1 :(得分:1)

问题是GroupLayout扩展了表单元素以适应面板。在右侧图像中,包含表单组件的面板更宽。布局已调整窗体以更好地填充面板。 Component Size and Resizability部分提供了一些指导。