我对事件监听和GUI很新,所以我很难搞清楚这一点。
我有一个JTabbedPane,我添加了3个组件。这些组件是JToolBars,它允许我将它们从JTabbedPane拖到浮动窗口中。这将从选项卡式窗格中删除选项卡。当我将JToolBar拖回窗格时,将重新创建选项卡。 但是,它现在的名称不正确。该名称对应于ToolBar停靠的TabbedPane的哪一侧;北,南,东或西。
有人能推荐一种检测JToolBar已被重新锁定然后更新标签标题的正确方法吗? 到目前为止,我已经在tabbedPane上实现了一个更改侦听器,但无法解决合适的事件。
干杯。
解决: 解决方案是使用ContainerListener来检测通过实现的componentAdded方法添加的组件。当一个组件被添加到JTabbedPane时,我调用了一个方法,用组件名称更新选项卡名称,通过.setName()设置。
public void componentAdded(ContainerEvent added) {
updateTabs();
}
public void updateTabs() {
for (int i = 0; i < tabbedPane.getComponents().length; i++) {
tabbedPane.setTitleAt(i,
tabbedPane.getComponents()[i].getName());
}
}
答案 0 :(得分:0)
解决方案是使用ContainerListener来检测通过实现的componentAdded方法添加的组件。当一个组件被添加到JTabbedPane时,我调用了一个方法,用组件名称更新选项卡名称,通过.setName()设置。
public void componentAdded(ContainerEvent added) {
updateTabs();
}
public void updateTabs() {
for (int i = 0; i < tabbedPane.getComponents().length; i++) {
tabbedPane.setTitleAt(i,
tabbedPane.getComponents()[i].getName());
}
}