Olá!
Estou enfrentando um problema chato com o o MigLayout. Ele permite que um JComboBox aumente para fora da tela de forma dinâmica, ou seja, se o combo tiver um item com uma descrição muito grande o layout vai esticar ele priorizando o item e não o tamanho da tela.
Segue uma classe exemplo simples do que eu preciso, com uma JLabel fixa, um JComboBox que aumenta e um JCheckBox fixo, todos na mesma linha.
Com itens de nome pequeno no combo, como esta no exemplo abaixo, funciona perfeitamente … o JComboBox aumenta respeitando o JCheckBox que vem depois…
public class TestMig extends JFrame{
public TestMig() {
super("TestMig");
setMinimumSize(new Dimension(350, 100));
setLocationRelativeTo(null);
setLayout(new MigLayout(new LC().noGrid()));
add(new JLabel("Select:"));
CC cc = new CC().pushX().growX();
add(new JComboBox(new String[]{"Item 1"}), cc);
add(new JCheckBox("Check-me"));
}
public static void main(String[] args) {
new TestMig().setVisible(true);
}
}
Mas se tiver um item com um nome grande, ele vai aumentar de forma descontrolada, e simplesmente vai jogar para fora da tela o JCheckBox.
CC cc = new CC().pushX().growX();
add(new JComboBox(new String[]{"Item com nome grande para testar o aumento do combobox"}), cc);
Alguma sugestão para resolver isso?