1

我想禁用编辑但不突出显示我的 JTable 中的所有单元格。

我有一个网站上的以下示例,它按预期工作:

DefaultTableModel model = new DefaultTableModel(data, new String[]{"First header", "Second header", "Third Header"});

JTable table = new JTable(model) 
{ 
    public boolean isCellEditable(int rowIndex, int colIndex) 
    {
        return false;
    } 
};

在表变量实例化之后会发生什么?

我是否某种覆盖了实例方法isCellEditable

4

3 回答 3

3

这称为匿名类。它是扩展JTable和覆盖其isCellEditable方法的类的实例化。

于 2012-08-07T11:48:57.480 回答
1

它正在创建一个从JTable.

在代码中:

public ExistingClass x = new ExistingClass { ... }

这实际上创建了一个派生自ExistingClass. 这是提供单个派生实例的简洁方法。在您上面的示例中,只需覆盖一种方法即可。

于 2012-08-07T11:48:07.837 回答
1

您正在实例化一个匿名类

匿名类是没有名称的本地类。使用 new 运算符在单个简洁表达式中定义和实例化匿名类。

是的,你在这里覆盖了一个方法。

于 2012-08-07T11:49:51.370 回答