Como pintar um JButton em um JTextField

9 respostas
reinaldo_mt

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:

9 Respostas

andre_a_s

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

reinaldo_mt

Desculpe, não me expressei bem.

Qeuro pintar um botão no canto de um JTextField

Fiz uma figura de exemplo

Valeuuu

reinaldo_mt

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

F

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.

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);

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

]['s

reinaldo_mt

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

brlima

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

F

Um linkzinho pra ajudar.

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

]['s

reinaldo_mt

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

brlima

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!

Criado 21 de março de 2005
Ultima resposta 24 de mar. de 2005
Respostas 9
Participantes 4