Наличие JComponent использует оставшуюся ширину в JPanel - PullRequest
2 голосов
/ 13 февраля 2012

У меня есть JLabel, JButton и JTextField, расположенные горизонтально в этом порядке на JPanel.JTextField изначально не содержит никакого текста.JLabel и JButton каждый показывает свою естественную ширину.Однако ширина JTextField довольно мала.(Затем он расширяется, когда пользователь вводит текст.)

Как я могу заставить JTextField использовать всю оставшуюся ширину JPanel, оставшуюся от JLabel и JButton, и сделать так, чтобы она сохраняла эту ширину независимо от того, какой текст этовошел

1 Ответ

2 голосов
/ 13 февраля 2012

Я никогда не использовал BoxLayout, так что это может помочь.Однако, и наверняка, GridBagLayout может это сделать.

Установите для GridBagConstraints значение gridx = 0, 1, 2 (соответственно для компонентов 1, 2 и 3) gridy = 0 (для всех них)и weightx = 0 для первых двух и weightx = 1.0 для последнего компонента.

...