我正在开发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);
我想在左上方显示小文本和文本字段,但我的TextField在我的所有屏幕上都拉伸了。我该怎么做才能修复它?也许我必须改变布局管理器?
答案 0 :(得分:1)
问题是BoxLayout
将允许组件增长以填充面板的可用空间。
所以最简单的解决方案是将您的面板添加到另一个面板,该面板将尊重BoxLayout面板的大小。
类似的东西:
JPanel wrapper = new JPanel(); // uses FlowLayout by default.
wrapper.add( panel );
frame.add( wrapper );
现在,当您将包装器面板添加到框架时,包装器面板的大小会增大,但不会影响添加到包装器面板的组件。