the*_*e19 2 java swing jtabbedpane
在我JTabbedPane,我正在以两种不同的方式删除标签:
tabbedPane.remove(index)
Run Code Online (Sandbox Code Playgroud)
和
tabbedPane.removeAll()
Run Code Online (Sandbox Code Playgroud)
两者在关闭标签方面都很好.但是,我有一个更改侦听器,TabbedPane它会调用另一个模块来报告选项卡更改.这就是问题所在.
使用时添加和删除选项卡时remove(index),stateChanged()方法中的源TabbedPane在检查时包含正确数量的选项卡tabbedPane.getTabCount().
但是,在调用tabbedPane.getTabCount()之后tabbedPane.removeAll(),计数仍然是紧接在之前的计数removeAll().
有没有人有什么建议?
看完源代码后,我看到发生了什么.
JTabbedPaneChangeEvents更改所选选项卡时触发.但要删除所有选项卡,它首先将选定的选项卡设置为-1,然后删除所有选项卡.因此,当ChangeListener捕获事件时,所有选项卡仍然存在.
如果你想知道任何时候的标签数量,我担心你必须自己迭代标签并逐个删除它们.
while (myTabbedPane.getTabCount() > 0)
myTabbedPane.remove(0);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4297 次 |
| 最近记录: |