当其中一个面板出现在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();
}
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)