对如何以编程方式向 jtable 添加列感到困惑
Confused about how to add columns to jtable programmatically
我创建了一个 jtable 和一个扩展 AbstractTableModel 的 class。实际上我不确定到目前为止我是否正确。问题是我无法向我的 jtable 添加任何列。我在 main 方法中得到空指针。到目前为止,这是我尝试过的。能不能请你看看有什么遗漏和错误。
JPanel panel=new JPanel(new GridLayout(1,2,5,5)) ;
JTable table;
public CheckBoxes(){
table=new JTable(new TableModels());
TableColumnModel columnModel = null;
for (int i = 0; i <2; i++) {
columnModel.getColumn(i).setPreferredWidth(100);
}
panel.add(table);
this.add(panel);
}
public static void main(String[] args) {
new CheckBoxes().setVisible(true);
}
class TableModels extends AbstractTableModel{
String[] colName=new String[]{"Name","Url"};
int[][]data=new int[10][2];
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
return colName.length;
}
@Override
public int getRowCount() {
// TODO Auto-generated method stub
return data.length;
}
@Override
public Object getValueAt(int row, int col) {
// TODO Auto-generated method stub
return data[row][col];
}
改变
TableColumnModel columnModel = null;
至
TableColumnModel columnModel = table.getColumnModel();
我创建了一个 jtable 和一个扩展 AbstractTableModel 的 class。实际上我不确定到目前为止我是否正确。问题是我无法向我的 jtable 添加任何列。我在 main 方法中得到空指针。到目前为止,这是我尝试过的。能不能请你看看有什么遗漏和错误。
JPanel panel=new JPanel(new GridLayout(1,2,5,5)) ;
JTable table;
public CheckBoxes(){
table=new JTable(new TableModels());
TableColumnModel columnModel = null;
for (int i = 0; i <2; i++) {
columnModel.getColumn(i).setPreferredWidth(100);
}
panel.add(table);
this.add(panel);
}
public static void main(String[] args) {
new CheckBoxes().setVisible(true);
}
class TableModels extends AbstractTableModel{
String[] colName=new String[]{"Name","Url"};
int[][]data=new int[10][2];
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
return colName.length;
}
@Override
public int getRowCount() {
// TODO Auto-generated method stub
return data.length;
}
@Override
public Object getValueAt(int row, int col) {
// TODO Auto-generated method stub
return data[row][col];
}
改变
TableColumnModel columnModel = null;
至
TableColumnModel columnModel = table.getColumnModel();