我在java swing中创建了一个应用程序
该应用程序是JFrame
,JTabbedPane
有3个tabbedpane。
在第一个窗格中有一个进度复选框,如果选中该复选框,则点击另一个窗格时,第二个或第三个窗格将显示“{1}}消息,显示”正在进行选项卡1“。
问题是当我选中进度复选框时单击其他窗格时,它将首先进入我选择的窗格,然后只有重定向工作,并且错误消息执行两次。
我已经以某种方式阻止了两次错误消息的执行,但是当单击进度复选框时无法阻止转到单击窗格。
任何人都可以告诉我这个问题的解决方案。
我的完整代码如下。
ERROR
答案 0 :(得分:2)
这是因为您使用tabStateChanged事件,因此仅在更改选项卡时才会触发事件,因此您可以将事件类型更改为单击或更改代码,以便它不会首先显示错误,但是首先更改选定的选项卡,然后显示错误框
int o=getStatus();
if(o==1 && tab.getSelectedIndex() != 0) //if the selected index isn't 0 and the o == 1
{
tab.setSelectedIndex(0);
JOptionPane.showMessageDialog(null, "Tabbed 1 Progress!!!", "Confirmation!!!",JOptionPane.ERROR_MESSAGE);
//setStatus(0); delete this
//setStatus(1); delete this
}
答案 1 :(得分:2)
你不能使用JTabbedPane
的方法吗?
public void setEnabledAt(int index, boolean enabled)
开始进度以防止点击禁用标签