如何从一个对象中的一些列而不是所有列创建一个表?这是所需的输出:
ID|Author|Messages
----------------------------
2 |Alice | My first message
5 |Alice | My second message
6 |Bob | Hello
这是对象。
private String[] columnNames
= {"ID","Author", "HideThis", "Messages"};
private Object[][] data = {
{"2", "Alice", "Hide this", "My first message"},
{"5", "Alice", "Hide this", "My second message"},
{"6", "Bob", "Hide this", "Hello"}
};
private DefaultTableModel model = new DefaultTableModel(data, columnNames);
我是否必须创建一个新的数据对象并只复制相关的列,或者有没有办法说 columnSetHidden(2)?
最佳答案
DefaultTableModel model = new DefaultTableModel(ProcessArray(data,1),columnNames);
public Object[][] ProcessArray(Object[][] arr,int colindex) {
List points = Arrays.asList(arr);
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
points.remove(arr[i][colindex]);
}
}
Object[][] returnData = (Object[][]) points.toArray();
return returnData;
}
DefaultTableModel
中没有用于删除列
的 Api 规范,但您可以自定义
二维数组并删除所需的列。然后将处理后的数组传递给 DefaultTableModel
的构造函数。但是,您仍然需要更改列名。
关于java - Jtable 隐藏一些列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37192667/