Swing java-无法将MouseListener添加到JTable
我只是说我的题目有问题。。。程序并没有进入我将侦听器添加到表中的那个部分。。。 我需要获取第一列(第0列)中选定行中的单元格值。 我的错在哪里Swing java-无法将MouseListener添加到JTable,swing,jtable,listener,Swing,Jtable,Listener,我只是说我的题目有问题。。。程序并没有进入我将侦听器添加到表中的那个部分。。。 我需要获取第一列(第0列)中选定行中的单元格值。 我的错在哪里 rezultatiTable = new JTable(data, columnNames) { public Class getColumnClass(int column) { for (int row = 0; row < getRowCount(); row++) {
rezultatiTable = new JTable(data, columnNames) {
public Class getColumnClass(int column) {
for (int row = 0; row < getRowCount(); row++) {
Object o = getValueAt(row, column);
if (o != null) {
return o.getClass();
}
}
return Object.class;
}
};
System.out.println("Before Listener");
rezultatiTable.addMouseListener(new MouseAdapter(){
private void MouseClicked(final MouseEvent e) {
System.out.println("IN listener");
if (e.getClickCount() != 0)
{
final JTable target = (JTable)e.getSource();
final int row = target.getSelectedRow();
final int column = 0;
final int value = (Integer) target.getValueAt(row, column);
}
}
});
System.out.println("OUT of listener");
rezultatiTable=新的JTable(数据、列名){
公共类getColumnClass(int列){
对于(int row=0;row
我得到输出:
在听众面前
在听众之外德马西亚多·塔德(Aunque sea demasiado tarde),阿尤达尔(puede ayudar)是未来的选择者 鼠标指针指向抽象类对象,而不是抽象类对象的其他工具。如果你是一名国际法律工作者,那么你就需要一名国际法律工作者来实施这项法律 虽然为时已晚,但这可能对未来的读者有所帮助。 MouseAdapter是一个抽象类,不能实现抽象类的对象。必须创建从MouseAdapter扩展的内部类,重写所需的方法,并将此内部类的实现发送到.addMouseListener 例如:
//Code...
mycomponent.addMouseListener(new innerClass());
class innerClass extends MouseAdapter{
@Override
public void MouseClicked(MouseEvent e){
//Your Code
}
}
我自己解决了这个问题,但花了我一些时间:-/我刚刚使用了ListSelectionListener(),因此如果将来有人有类似的问题,请尝试此解决方案:)您可以回答并接受您自己的问题-这样做将有助于未来的读者找到它:-)请注意您的代码:您的MouseClicked方法不尊重Java命名约定,而且是私人的。这两个大的标志应该让您意识到它不能重写MouseAdapter类中的任何方法。始终将@Override注释添加到应该重写另一个方法的方法中。正确的签名是
public void mouseClicked(MouseEvent e)
@JBNizet good catch,没有看到它:-)