Como inserir JBUtton num JTable?

6 respostas
luuu

boa tarde ,
gostaria de colocar um jbutton no meu JTable , para se caso eu queira apagar apenas uma linha , esse jbutton seja a opcao

eu utilizo a seguinte funcao para inserir uma linha

public void insereNaTabelaItems(){
        DefaultTableModel dtm = (DefaultTableModel)tabela_de_items.getModel();
        try{
            JButton remover = new JButton("Remover");
            dtm.addRow(new Object[]{l_status_pedido.getText(),t_qtdade.getText(),t_preco_unid.getValor(),""});
            
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }

alguem tem ideia de como posso colocar esse JButton na ultima coluna?

6 Respostas

diego2005

Tenta assim:

TableColumn column = tabela.getColumnModel().getColumn(numeroUltimaColuna); column.setCellEditor(new DefaultCellEditor(new JButton("Botão")));

T+

luuu

ele num aceita JButton como parametro
so JComboBox , JCheckBox e JTextField

sks.Rafael

Opa…
Acredito que não dá para colocar um JButton dentro da coluna.
Coloque o botão fora da coluna e remova a linha!
Segue um código para remoção de linha de uma tabela:

Action removerlinha = new AbstractAction() { public void actionPerformed(ActionEvent e) { try { modelo.removeRow(0); } catch (Exception e1) { JOptionPane.showMessageDialog(null,"Não há linhas para remover","ERRO",JOptionPane.INFORMATION_MESSAGE); } } };

Acredito que isso fará remover uma linha da tabela…
Neste caso mandei remover a primeira linha da coluna…
Espero que ajudei!
Abraço

luuu

entao nao sei se nesse caso iria funcionar por que o sistema eh assim .
tem um a JTable que eu vo acrescentando items … ai se por acaso o item for errado … o operador pode remover esse item (linha da tabela).

nao tem como por uma action numa coluna da tabela? tambem funcionaria

lina

Oi,
tem como sim,
é igual a outro componente normal.. segue um exemplo de uma Action atraves do Mouse:

tabela.addMouseListener(
	new	MouseAdapter()
	{
		public
		void			mouseClicked(MouseEvent e)
		{
			//
			// Se duplo ou um clique na coluna
			//
			if	(
					e.getClickCount()	==	1
					||
					e.getClickCount()	==	2
				)
			{		
				//
				// Se clicado na coluna 4
				//
				if	(
						tabela.getSelectedColumn() ==	4
					)
				{
				
				}
			}
		);		
		
	}
Tchauzin!
fabim

pq vc nao coloca uma coluna como checkbox pra indicar as linhas selecionadas? desse modo vc poderia marcar uma ( ou varias linhas ) e excluir.

Criado 15 de agosto de 2007
Ultima resposta 31 de ago. de 2007
Respostas 6
Participantes 5