如何单击JList项目在JTabbedPane中打开一个新选项卡?

时间:2016-02-13 16:07:16

标签: java swing netbeans

我有一个垂直划分的JSplitPane,左侧包含JList,右侧包含JTabbedPane。 JList变量名为jlist1,包含4个项目。 JTabbedPane默认没有选项卡。 我希望每当用户点击任何JList项目时,都应在JSplitPane的右侧动态打开一个新选项卡(即,在JTabbedPane中打开一个新选项卡)。 我还想为所有动态打开的标签提供一个关闭按钮[x]。 我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

  

我还想为所有动态打开的标签提供关闭按钮[x]

首先阅读https://raymii.org/s/tutorials/Ansible_-_Only-do-something-if-another-action-changed.html上的Swing教程中的部分。有一个工作示例说明了如何执行此操作。

  

我希望每当用户点击任何JList项目时,都应该动态打开一个新标签

任何UI都应该允许用户使用鼠标或键盘来提供Action。因此,通常在使用JList时,您可以使用鼠标双击或使用键盘输入。

结帐How to Use Tabbed Panes。这是一个简单的类,允许您创建一个Action,只要使用鼠标或键盘就可以调用它。

因此,在您的自定义Action中,您需要添加逻辑,以便为JList中的所选项目创建新标签。从链接中提供的简单操作开始,添加您的自定义代码。

答案 1 :(得分:0)

您需要添加一个侦听jlist中选择事件的侦听器。您可以通过在JList中触发选择事件来实现此目的。 你可以使用javax.swing.event JTabbedPane应该监听此事件,获取与事件关联的对象,并在侦听器实现中构造一个选项卡。