我有一个JLabel,一个JButton和一个JTextField,它们都按顺序在JPanel上水平排列。 JTextField最初没有任何文本。 JLabel和JButton均以其自然宽度显示。但是,JTextField的宽度很小。 (然后在用户输入文本时展开。)
如何使JTextField使用从JLabel和JButton遗留的JPanel的所有剩余宽度,并使其保持该宽度而不管输入的文本是什么?
最佳答案
我从未使用过BoxLayout
,所以可以解决问题。但是,可以肯定的是,GridBagLayout
可以做到。
将GridBagConstraints设置为gridx = 0,1、2,(分别针对组件1、2和3),gridy = 0(对于所有组件)和weightx = 0(对于前两个组件)以及weightx = 1.0(对于最后一个组件)。