我有两种形式:f_main
和f_recruitment
。我在f_main
中添加了一个带有此代码的标签:
....
private void jLabel2MouseClicked(java.awt.event.MouseEvent evt) {
JOptionPane.showMessageDialog (null, "Recruitment Icon has been Clicked");
new F_Recruitment().setVisible(true);
}
// to display f_recruitment
问题是我如何只有一个活跃f_recruitment
开放?
更新
谢谢,我的意思是,如何阻止用户重新点击jLabel2
而另一个f_recruitment
已打开..? (我让f_main表单保持可见,而新表单f_recruitment
已打开)
答案 0 :(得分:2)
我完全赞同使用glowcoder(1+),更多的信息对于有效地回答这个问题很有帮助,但另一个选择是使用延迟启动 - 创建一个空的F_Recruitment变量字段,并实例化它在侦听器中,如果它为null,但无论它是否最初为null,在侦听器的底部显示该字段。
public class MyClass {
private F_Recruitment fRecruitment = null;
// ... more code goes here
private void jLabel2MouseClicked(java.awt.event.MouseEvent evt) {
JOptionPane.showMessageDialog (null, "Recruitment Icon has been Clicked");
if (fRecruitment == null) {
fRecruitment = new F_Recruitment();
}
fRecruitment.setVsible(true);
}
答案 1 :(得分:1)
我真的不认为这里有足够的信息来回答你的问题。
你说你只想要一个活跃的f_recruitment,但这意味着不止一个f_recruitment。
您可以考虑使用切换方法:
private void toggleRecruitmentOn() {
f_main.setVisible(false);
f_recruitment.setVisible(true);
}
private void toggleMainOn() {
f_recruitment.setVisible(false);
f_main.setVisible(true);
}
如果有关于手头问题的更多信息发布,我会更新此信息:)