如何在java swing应用程序中实现JTables的扩展/折叠性质

Dya*_*nth 6 java swing expand jtable collapse

在我的应用程序中,我显示了一个包含大量数据的表列表.所有表都可能不适合窗口,我们需要滚动才能看到底部表格.在这里,我需要扩展/折叠性质到表.用户可以选择他希望在所有表中看到哪些表.这是我的应用程序的示例屏幕截图. 在此输入图像描述

我该怎么做.任何建议将不胜感激.

Dya*_*nth 3

public DesignGridTest(){

        JFrame frame = new JFrame("Example 1");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel masterpanel = new JPanel();
        DesignGridLayout masterlayout = new DesignGridLayout(masterpanel);

        JCheckBox chk1 = new JCheckBox("Check Box1");
        masterlayout.row().left().add(chk1);    

        JPanel panel1 = new JPanel();
        JTable table1 = new JTable();
        table1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        panel1.add(table1);
        final IRow row1 = masterlayout.row().grid().add(panel1);
        chk1.setSelected(true);
        chk1.addItemListener(new ItemListener()
        {
            @Override public void itemStateChanged(ItemEvent event)
            {
                if (event.getStateChange() == ItemEvent.SELECTED)
                    row1.show();
                else
                    row1.hide();
                frame.pack();
            }
        });     
        frame.add(masterpanel);
        frame.pack();
        frame.setVisible(true);
    }
    public static void main(String a[]){new DesignGridTest();}
Run Code Online (Sandbox Code Playgroud)

将面板(panel1、panel2..)添加到“masterlayout”以获得您想要的外观