Я написал этот код для предупреждающего сообщения, отображаемого пользователю, когда они снижают флажок. Это происходит только тогда, когда мышь с ключом реализуется с помощью флажка. Если пользователь установит флажок и выйдет из флажка, он позволит пользователю снять отметку с флажка и не отобразить предупреждающее сообщение. Как я могу решить эту ошибку?Добавить MouseListener в JCheckBox
public void mouseClicked(MouseEvent e) {
Vector matNoVect = new Vector();
if (e.getClickCount() == 1) {
Utools.setMouseBusy(sstEndProductMaterials.table);
try {
Vector v = new Vector();
v = Inter.LoadContents(str);
System.out.println(v);
if (v.size() > 0) {
if (Integer.parseInt(v.get(0).toString()) > 0) {
JOptionPane.showMessageDialog(null,"Material "+matNo+" is used in some Item");
sstEndProductMaterials.table.setValueAt(new Boolean(true),index, 7);
Utools.setMouseNormal(sstEndProductMaterials.table);
return;
}
}
} catch (Exception e11) {
e11.printStackTrace();
Utools.setMouseNormal(sstEndProductMaterials.table);
}
}
}
+1 за хороший, предостерегающий пример; возможно, вы можете предпочесть 'ItemListener' над' ActionListener'. http://download.oracle.com/javase/tutorial/uiswing/components/button.html – trashgod