2014-03-10 3 views
4
model = new DefaultTableModel(data, columnNames) 
    {    
     @Override 
     public String getColumnName(int col) { 
      return (String) columnNames[col]; 
     } 
    }; 

    table = new JTable(model); 

    for (int tc=0; tc<table.getColumnCount(); tc++) 
     table.getColumn(tc).setCellRenderer(new TextAreaRenderer()); 

Мне нужно получить доступ к столбцам по индексу столбца. Следующее сообщение об ошибке:Как получить доступ к столбцам по индексу столбца?

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Identifier not found 
at javax.swing.table.DefaultTableColumnModel.getColumnIndex(Unknown Source) 
    at javax.swing.JTable.getColumn(Unknown Source) 

ответ

1

Вы должны использовать имя столбца, чтобы получить колонку, как:

for (int tc=0; tc<table.getColumnCount(); tc++) 
     table.getColumn(columnNames[tc]).setCellRenderer(new TextAreaRenderer()); 
0

TableColumnModel имеет (ColumnIndex INT) метод GetColumn:

TableColumnModel columnModel = table.getColumnModel(); 
for (int tc = 0; tc < table.getColumnCount(); tc++) 
    columnModel.getColumn(tc).setCellRenderer(new TextAreaRenderer()); 
Смежные вопросы