gpt4 book ai didi

java - 在Java中,如何在切换到新的JTab之前捕获事件?

转载 作者:行者123 更新时间:2023-12-02 10:57:32 24 4
gpt4 key购买 nike

如何在新标签页切换之前捕获事件?在每个选项卡中,我都有 JTable,我用它的数据执行一些操作(删除、添加、更新)。我想在切换到新选项卡之前进行数据验证(保存或取消更改)。我使用 Java 1.5。

class ViewPanel extends JPanel 
{

private void Components() {
setPreferredSize(new Dimension(700, 400));

tabbedPane.addTab("DC", ANSFER.getIcon(),new DcTabPanel(this), "DC");
tabbedPane.addTab("PC", THUMB4.getIcon(),new PcTabPanel(this), "PC");

tabbedPane.addChangeListener(this);
add(tabbedPane);
}


public void stateChanged(ChangeEvent e) {

}

}

最佳答案

JTabbedPaneSingleSelectionModel 支持。如果你延长 DefaultSingleSelectionModel ,您可以重写 setSelectedIndex 方法并实现您的逻辑。

// in new selection model:
public void setSelectedIndex(int index) {
// do pre-switch things here
super.setSelectedIndex(index);
}

// in ViewPanel, on tabbedPane create:
tabbedPane.setModel(newSelectionModel);

您不能简单地使用 ChangeListener 的原因是因为它会在更改时触发。通过扩展选择模型,您可以在选项卡更改之前触发。

关于java - 在Java中,如何在切换到新的JTab之前捕获事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11017825/

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