Salve galera,
numa JTable implementada, eu quero que quando o usuário clique com o botão direito sobre uma linha, abra 1 menu com 2 opções, remover linha e editar linha, e ai implementar os métodos para isso. A Jtable está implementada a partir de um DefaultTableModel. Existe como fazer isso?
Editando JTable
M
2 Respostas
V
para remover uma linha da JTable
Para mostar na tela o popup... no evento clicked da tabela!
((DefaultTableModel)jTable1.getModel()).removeRow(jTable1.getSelectedRow());
Agora vc ker criar um menu e tal...
JPopupMenu popMenu = new JPopupMenu();
JMenuItem pmExcluir = new JMenuItem("Excluir Linha");
pmExcluir.setFont(new Font("Dialog",0,10));
popMenu.add(pmExcluir);
pmExcluir.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
((DefaultTableModel)jTable1.getModel()).removeRow(jTable1.getSelectedRow());
}});
private void jTable1_mouseClicked(MouseEvent e) {
if(e.getButton() == MouseEvent.BUTTON3){
jTable1.setRowSelectionInterval(jTable1.rowAtPoint(e.getPoint()),jTable1.rowAtPoint(e.getPoint()));
popMenu.show(jTable1,e.getX(),e.getY());
}
}
Primeiro passo, livre-se do DefaultTableModel:
http://www.informit.com/articles/article.aspx?p=332278
Segundo passo, faça seu ser editável:
http://www.informit.com/articles/article.aspx?p=333472
Terceiro passo, use o método getSelectedLine() para obter que linha foi selecionada. Então abra um JPopupMenu sobre a linha com a opção de excluir.
Por padrão, o comportamento da JTable é deixar o usuário editar quando ele dá dois cliques sobre a célula. Então, não deve ser necessário o comando editar.
Criado 18 de julho de 2008
Ultima resposta 18 de jul. de 2008
Respostas 2
Participantes 3
Alura O que é Python? — um guia completo para iniciar nessa linguagem de programação Acesse agora o guia sobre Python e inicie sua jornada nessa linguagem de programação: o que é e para que serve, sua sintaxe e como iniciar nela!
Casa do Codigo Engenharia de Prompt para Devs: Um guia para aprender a... Por Ricardo Pupo Larguesa — Casa do Codigo