我有一个非常简单的Java JTable问题。 我正在创建这个类,以便在我的应用程序的其余部分中使事情更容易。运行时收到错误。我知道这些错误意味着什么,但不知道还有什么可以尝试。
你会在代码中看到我想要完成的任务:
我的班级:
import javax.swing.*;
public class CPTable extends JScrollPane
{
private JTable table;
CPTable(Object [] headers, Object [][] data)
{
table = new JTable(data, headers);
this = new JScrollPane(table);//The line I can't figure out.
}
}
我的错误:(显而易见的)
cannot assign a value to final variable this
this = new JScrollPane(table);
和
incompatible types
found : javax.swing.JScrollPane
required: CPTable
答案 0 :(得分:1)
试试这个:
private CPTable(JTable table) {
super(table);
this.table = table;
}
public CPTable(Object[] headers, Object[][] data) {
this(new JTable(data, headers));
}
您无法重新分配this
,但可以使用super
(必须是构造函数中的第一个语句)来调用正确的超类构造函数。
this
语句称为“构造函数委托”---它链接到另一个构造函数,以便您可以将表传递给超类并将其分配给table
字段。