Como pintar um JButton em um JTextField

Olá pessoal. Esta a primeira vez que pergunto algo no GUJ… :smiley:

Meu problema é o seguinte:
Preciso de um componente parecido com o JComboBox mas que ao invés da “setinha para baixo” que abre o combo, este componente teria apenas um botão onde eu possa clicar para por exemlo chamar outra tela

Obs: posteriormente precisaarei colocar este componente em um JTable

Por favor me ajudem, já procurei em vários lugares, já li a api e ainda não consegui nada :cry:

Ué… pelo q entendi então vc queria q ele funcionasse como um botão? :?

Desculpe, não me expressei bem.

Qeuro pintar um botão no canto de um JTextField

Fiz uma figura de exemplo

Valeuuu

Esqueci de dizer: não vou usar só no JTable, mas no sistema todo

Olá,

Componente deste tipo pronto eu nao conheço, mas que tal brincar um pouco com a imaginação?

Olhe a imagem anexada, é o que voçe precisa?

Código da brincadeira.

[code]
JTextField field = new JTextField();
JButton buttonIcon = new JButton();
Panel panel new Panel(new BorderLayout);

panel.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
field.setText(“jTextField1”);
field.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
buttonIcon .setBorderPainted(false);
buttonIcon .setMargin(new Insets(0, 0, 0, 0));
buttonIcon .setIcon(createImageIcon(“icon.GIF”));
panel.add(field, BorderLayout.CENTER);
panel.add(buttonIcon , BorderLayout.EAST);[/code]

Eu só nao postei o código pra buscar a imagem (metodo createImageIcon), mas isso é facil de fazer

]['s

Valeu, me ajudou bastante. porém agora falta eu dar um jeito de adcionar o JPanel dentro do JTable.

mas a peleia vai ser grande pois o DefaultCellEditor só aceita
JCheckBox
JComboBox
JTextField

Abaixo está o código que uso para adcionar componetentes no JTable

TableColumn col = tabela.getColumnModel().getColumn(0);
col0.setCellEditor(new DefaultCellEditor(componente));
/*
   Variável componente não pode ser JPanel
   somente:
      JCheckBox
      JComboBox
      JTextField
*/

Enquanto isso vou ler + um pouco da API

Por isso vc deve criar o seu proprio cellRenderer… extenda o defaultcellrenderer para isso… :wink:

Um linkzinho pra ajudar.

http://www.javaalmanac.com/egs/javax.swing.table/CustRend.html

]['s

Valeu galera…
Graças a ajuda de vocês resolvi o problema :smiley:

Se a sua intenção é criar alguma forma de o usuario pesquisar um valor, dá uma olhada nesse projeto aqui.
Eu usei ele pra fazer exatamento o que vc tá pedindo ai, só que ao clicar no botão, eu chamo essa janela pra pesquisar os valores disponiveis :smiley:
Talvez te polpe um tempo e ajude.
flw!