java - Jtable 隐藏一些列

标签 java jtable

如何从一个对象中的一些列而不是所有列创建一个表?这是所需的输出:

 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/

相关文章:

java - 将属性传递到着色器 Libgdx

java - 如何在Java中打印指向数组的对象

来自 Javascript JSONArray 的 Java JSONArray

java - Picasso 的永久缩略图

java - 正确覆盖 getPreferredScrollableViewportSize

java - JTable TableCellRenderer 着色不正确

java - 使用 onCheckedChanged 的​​多个复选框事件

java - 结合 JMenu 剪贴板功能、加速器和 actionMenu 支持(最佳实践)

java - 在 JTable 中加载数据时出现问题

Java JTable 导出到现有的 MS Access 表