Pessoal,
este código abaixo só é disparado quando executo um duplo-clique com botão direito do mouse. Gostaria que fosse com o botão esquerdo do mouse. Alguém pode ajudar?
private void resultTableMouseClicked(java.awt.event.MouseEvent evt) {
// Duplo clique
if (evt.getClickCount() == 2 ) {
// Captura o ID
TableModel tm = resultTable.getModel();
int id = Integer.parseInt(tm.getValueAt(resultTable.getSelectedRow(), 0).toString());
// Captura o cliente
ControllerCustomer controle = new ControllerCustomer();
controle.cliente = controle.getCustomerById(id);
// Exibe
JFrameCustomer fraCliente = new JFrameCustomer();
fraCliente.setCliente(controle.cliente);
fraCliente.setVisible(true);
SwingUtils swu = new SwingUtils();
swu.doCentralizarJFrame(fraCliente);
}
}
Olá leobarbosa,
Você diz só restringir somente ao botão esquerdo ?
[code]
table.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
switch (e.getButton()) {
case MouseEvent.BUTTON1:
JOptionPane.showMessageDialog(TableDemo.this,
"Clicou 2 vezes botao 1");
break;
case MouseEvent.BUTTON2:
JOptionPane.showMessageDialog(TableDemo.this,
"Clicou 2 vezes botao 2");
break;
case MouseEvent.BUTTON3:
JOptionPane.showMessageDialog(TableDemo.this,
"Clicou 2 vezes botao 3");
break;
default:
JOptionPane.showMessageDialog(TableDemo.this,
"Clicou 2 vezes outro botao");
break;
}
}
}
});[/code]
Obrigado Gustavo,
mas o que estou querendo mesmo é descobrir qual a propriedade que não permite a edição da célula, pois aí o ‘double-click’ não é detectado com o botão esquerdo.
??
Bom na verdade então você tem que ver o seu TableModel para bloquear as colunas que não vão ter edição, só que assim se precisar ter edição evento do click você tem que colocar na coluna (TableModel) e não na tabela.
Segue um exemplo de bloqueio do tablemodel:
class meuTableModel extends AbstractTableModel {
public boolean isCellEditable(int row, int col) {
if (col < 2) {
return false;
} else {
return true;
}
}
}