2012-08-07 186 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

匿名類是沒有名字的局部類。使用 新操作符在單個簡潔表達式中定義並實例化匿名類 。

是的,你在這裏重寫一個方法。