jTable-如何仅显示有限的列?JAVA
这是我在DataAccessLayer中创建表的代码jTable-如何仅显示有限的列?JAVA,java,swing,jtable,jdeveloper,Java,Swing,Jtable,Jdeveloper,这是我在DataAccessLayer中创建表的代码 private TableModel getResultSetAsDefaultTableModel(ResultSet rs) { try { String[] columnHeadings = new String[0]; Object[][] dataArray = new Object[0][0]; ResultSetMetaData md = rs.getMetaData
private TableModel getResultSetAsDefaultTableModel(ResultSet rs) {
try {
String[] columnHeadings = new String[0];
Object[][] dataArray = new Object[0][0];
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
for (int i = 1; i <= columnCount; i++) {
String columnName = md.getColumnName(i);
columnHeadings = Arrays.copyOf(columnHeadings, columnHeadings.length + 1);
columnHeadings[i - 1] = columnName;
}
int r = 0;
while (rs.next()) {
Object[] row = new Object[columnCount];
for (int i = 1; i <= columnCount; i++) {
row[i - 1] = rs.getObject(i);
}
dataArray = Arrays.copyOf(dataArray, dataArray.length + 1);
dataArray[r] = row;
r++;
}
DefaultTableModel dtm = new DefaultTableModel(dataArray, columnHeadings) {
public boolean isCellEditable(int row, int column) {
return false;
}
};
return dtm;
} catch (SQLException ex) {
Logger.getLogger(Dataaccesslayer.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
**这会导致一些复杂情况,因为我的一个表有50个不同的列,因此您无法读取列名或单元格中的内容
问题是表的值是由元数据确定的
对于所有表,我希望将显示的列限制为特定的数字5。
我该怎么做**
亲切问候,
Chris如果您想删除表,可以删除表
int amountColumns = table.getColumnModel().getColumnCount(); //count columns
TableColumn c6 = table.getColumnModel().getColumn(6); //identif a random column
table.getColumnModel().removeColumn(c6); //remove this column
我希望这有助于…我不会删除它们,而是将它们的大小更改为0
int amountColumns = table.getColumnModel().getColumnCount(); //count columns
TableColumn c6 = table.getColumnModel().getColumn(6); //identif a random column
table.getColumnModel().setMin(0);
table.getColumnModel().setMax(0);
table.getColumnModel().setPreferredWidth(0);
就像我在你的其他帖子中回答你一样…还有其他帖子?!哦,那么让我们把这个关上!你能等一下吗?我想我还不能,或者,我可以吗?是的,这里:。我不能设置为保留:拥有3000声誉的用户每天最多可以投50票。当一个问题的票数接近5票时,它会被标记为[暂停],并且不再接受答案。rtfm,哈哈,对了,我现在自己发现了^^真遗憾,重复的应该更容易标记