1

我正在开发 Burp 扩展并添加其他选项卡。我必须返回 java.awt.component,所以我决定 javax.swing.JPanel 会很好。它必须是我的选项卡上的 JLabel 和 JTextField,代码在这里:

            JPanel panel = new JPanel();
            panel.setLayout(new BoxLayout(panel,Y_AXIS));

            JLabel label = new JLabel("hostname : ");
            panel.add(label);
            JTextField tf = new JTextField("text");
            panel.add(tfHost);

我想要左上角的小文本和文本字段,但我的文本字段在我的所有屏幕上都拉伸了。我该怎么做才能修复它?也许我必须更改布局管理器?

4

1 回答 1

1

问题是BoxLayout允许组件增长以填充面板的可用空间。

因此,最简单的解决方案是将您的面板添加到另一个将尊重 BoxLayout 面板大小的面板。

就像是:

JPanel wrapper = new JPanel(); // uses FlowLayout by default.
wrapper.add( panel );
frame.add( wrapper );

现在,当您将包装面板添加到框架时,包装面板的大小会增大,但不会影响添加到包装面板的组件。

于 2017-03-04T18:33:42.307 回答