jComboBox mudar cor de bordas da seta ou retirar seta ( é possivel? )

1 resposta
R

jComboBox mudar cor de bordas da seta ou retirar seta, é possivel?

Obrigado.

1 Resposta

H

Olá,

Acredito que já tenha resolvido esse problema, mas para ajudar outras pessoas respondo sua pergunta. Sim é possível
esconder o botão e não só isso:

JComboBox comboBox_1 = new JComboBox();
		comboBox_1.setModel(new DefaultComboBoxModel(new String[] {"dfgsdfgs", "sdfgshreyert", "ertyerty", "4ydfghn", "cvbncvbn", "cvbn", "cvb", "ndfg", "hdfg"}));
		comboBox_1.setBounds(10, 80, 117, 31);
		
		comboBox_1.setUI(new BasicComboBoxUI() {
		    protected JButton createArrowButton() {
		        return new JButton() {
		        	@Override
		        	public Color getBackground() {		        		
		        		return super.getBackground().WHITE;
		        	}	
		        	@Override
		        	public Border getBorder() {
		        		// TODO Auto-generated method stub
		        		return javax.swing.BorderFactory.createLineBorder(new Color(0, 0, 102), 3);
		        	}
		        	
		            public int getWidth() {
		                return 20;
		            }
		        };
		    }
		});
		
		contentPane.add(comboBox_1);
Mudando a cor do fund:
@Override
public Color getBackground() {		        		
 return super.getBackground().WHITE;
}
A borda:
@Override
public Border getBorder() {

  return javax.swing.BorderFactory.createLineBorder(new Color(0, 0, 102), 3);
}

Por fim o tamanho do botão:

public int getWidth() {
  return 20;
}

Se utilizar um:

try {

			UIManager
					.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
			SwingUtilities.updateComponentTreeUI(componente);
		} catch (Exception e) {
			e.printStackTrace();
		}

Utilize antes do comboBox_1.setUI pois caso contrário o código não funcionaria.

Espero que ajude.

Abraço

Criado 15 de novembro de 2012
Ultima resposta 28 de jan. de 2014
Respostas 1
Participantes 2