gpt4 book ai didi

java - JTabbedPanes 中的 JToolBar;停靠和取消停靠时选项卡名称不正确

转载 作者:行者123 更新时间:2023-12-01 05:00:40 26 4
gpt4 key购买 nike

我对事件监听和 GUI 很陌生,所以我很难弄清楚这一点。

我有一个 JTabbedPane,其中添加了 3 个组件。这些组件是 JToolBar,它允许我将它们从 JTabbedPane 拖到 float 窗口中。这将从选项卡式 Pane 中删除该选项卡。当我将 JToolBar 拖回到 Pane 中时,将重新创建该选项卡。但是,它现在的名称不正确。该名称对应于 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());
}
}

最佳答案

解决方案是使用 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());
}
}

关于java - JTabbedPanes 中的 JToolBar;停靠和取消停靠时选项卡名称不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13432401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com