Como fixar tamanho do JComboBox

Tem um JComboBox que recebe dinamicamente os itens, conforme o usuario escolhe outros campos na tela. O fato é que tem casos onde um item tem um texto grande. Eu gostaria que o JComboBox tivesse um “width” maximo X, independentemente dos itens que irei colocar nele.

O fato dele estar redimensionando de forma automatica detona o layout da tela.

Tentei usar:
setSize();
setPreferedSize();
setMaximumSize();

mas o Java nao deu bola pros metodos, continuou redimensionando.

Sera que vou ter que checar se o texto é mais que Y caracteres e corta-lo antes de adiciona-lo a um item do JComboBox, para isso nao acontecer? Pois esta solucao é “feia” do ponto de vista de programacao.

Basicamente o PreferedSize iria resolver. Mas, pelo q vc relatou, isto se deve por vc, talvez, ter definido no seu layout que o componente, por exemplo, iria preencher todo espaço restante de seu componente.
Vc esta suando qual layout?

Estou usando GridBagLayout.
Eu fiz o segte: tirei o setMaximumSize(), que deveria ser O metodo mas nao funcionou, tirei tambem o setSize(), e antes de jogar itens novos, usei o setPreferedSize(), e funcionou! Obg pela forca!!!

Nova dúvida:

Como fizeste pra carregar dinamicamente o combobox?

Obrigado

Já me ajudaram em outro forum:

addElement para adicionar
e
removeAllmaislagumacoisaquenaolembroagora para limpar tudo

Valew
Bonissauro

Já me ajudaram em outro forum:

addElement para adicionar
e
removeAllmaislagumacoisaquenaolembroagora para limpar tudo

Valew
Bonissauro

Eu criei um JTextLookupCombo filho de JComboBox e no evento actionPerformed (no caso se o usuario pressionar ENTER) eu chamo um metodo que faz:

removeAllItems();
PreparedStatement pstmt = connLocal.prepareStatement(SQL);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
  addItem(rs.getString("Campo..."));
}
rs.close();
pstmt.close();

Se quiser olhar o codigo completo do componente baixe o arquivo:
https://submacro.dev.java.net/files/documents/1076/10192/SubMacroForms.zip
e veja arquivo correspondente.

Grande garoto!!!

Obrigado pelas dicas…

Bonissauro