我有一个Java程序,其中,我正在使用JTextField,但如果我没有指定默认大小,它将具有宽度0.我将它插入BorderLayout,所以我该如何制作它扩展以填充整个容器?
在上面的示例中,文本字段将正常工作.但是,如果您插入EAST或WEST,它将无法正常工作.
import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JTextField; public class TextFieldTest { public static void main(String[] args) { JFrame f = new JFrame(); f.setLayout(new BorderLayout()); JTextField tf = new JTextField(); f.getContentPane().add(BorderLayout.EAST, tf); f.pack(); f.setVisible(true); } }
我的问题是:这需要是BorderLayout还是你可以使用其他布局管理器?如果可以,您应该检查GridBagLayout,您可以使用元素自动展开(使用权重)以适合整个容器.