2012-08-07 145 views
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

+0

这是一个**匿名类**的实例。 – 2012-08-07 11:47:28

回答

3

这就是所谓的anonymous class。它是扩展JTable并覆盖其方法isCellEditable的类的实例化。

1

它创建一个匿名类,从JTable派生。

在代码:

public ExistingClass x = new ExistingClass { ... } 

这实际上创建从ExistingClass派生的类。这是提供单个派生实例的简明方法。在上面的例子中,它只是简单地覆盖一个方法。

1

您实例化一个Anonymous Class

匿名类是没有名字的局部类。使用 新操作符在单个简洁表达式中定义并实例化匿名类 。

是的,你在这里重写一个方法。