gpt4 book ai didi

java - JTabbedPane:显示选定选项卡之前执行的操作

转载 作者:搜寻专家 更新时间:2023-10-31 08:30:52 25 4
gpt4 key购买 nike

当单击 JTabbedPane 中的其中一个面板时,我需要在开始时执行一些操作。比方说,我需要检查用户名和密码。只有当它们匹配时,才需要执行特定的面板操作。你能推荐任何方法吗?

最佳答案

不确定我是否完全理解您的问题,但我会这样做:

  • 将 ChangeListener 添加到 JTabbedPane 以监听第一次选项卡点击。
  • 当 ChangeEvent 发生时,使用 SwingWorker 在后台线程上执行登录。
  • 如果登录成功,则在事件调度线程上执行所需的 UI 操作。

例如:

    tabbedPane.addChangeListener(new ChangeListener() {
private boolean init;

public void stateChanged(ChangeEvent e) {
if (!init) {
init = true;

new SwingWorker<Boolean, Void>() {
@Override
protected void done() {
try {
boolean loggedIn = get();

if (loggedIn) {
// Success so perform tab operations.
}
} catch (InterruptedException e1) {
e1.printStackTrace(); // Handle this.
} catch (ExecutionException e1) {
e1.printStackTrace(); // Handle this.
}
}

protected Boolean doInBackground() throws Exception {
// Perform login on background thread. Return true if successful.
return true;
}
}.execute();
}
}
});

关于java - JTabbedPane:显示选定选项卡之前执行的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1063006/

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