我想创建一个展开和折叠面板列表,如下图所示:

我没有找到任何摆动组件,所以我开始创建这样的东西.我试图把按钮放在另一个下面,这填补了可用的宽度,但是并没有真正起作用.我只能看到最后添加的一个.
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.add(new JButton("Delphi Projects"), BorderLayout.NORTH);
panel.add(new JPanel(), BorderLayout.NORTH); // hidden panel
panel.add(new JButton("Delphi Projects | Delphi Files"), BorderLayout.NORTH);
panel.add(new JPanel(), BorderLayout.NORTH); // hidden panel
panel.add(new JButton("Other Files"), BorderLayout.NORTH);
panel.add(new JPanel(), BorderLayout.NORTH); // hidden panel
panel.add(new JButton("C++ Builder Projects | C++ Builder Files"), BorderLayout.NORTH);
panel.add(new JPanel(), BorderLayout.NORTH); // hidden panel
JScrollPane scroll = new JScrollPane(panel);
Run Code Online (Sandbox Code Playgroud)
dic*_*c19 12
你可以去看一下JXTaskPaneContainer,并JXTaskPane从SwingX项目,它具有以下优点:
JPanel所以不需要额外的工作就可以使用它们.如果您不喜欢任务窗格并希望自己实现某些功能,那么您JXCollapsiblePane也可以使用(也可以在SwingX API中使用).
检查SwingLabs演示,获取一整套SwingX组件演示.
