Только один активный новый jframe - PullRequest
2 голосов
/ 07 февраля 2011

У меня есть две формы: 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 открыта)

Ответы [ 2 ]

2 голосов
/ 07 февраля 2011

Я полностью согласен с glowcoder (1+), что дополнительная информация будет полезна и, возможно, необходима для компетентного ответа на этот вопрос, но другой вариант заключается в использовании ленивого инициирования - для создания пустого поля переменной F_Recruitment и создания его экземплярав слушателе, если он нулевой, но независимо от того, был ли он изначально нулевым или нет, в нижней части слушателя отображается поле.

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 голос
/ 07 февраля 2011

Я действительно не думаю, что здесь достаточно информации, чтобы действительно ответить на ваш вопрос.

Вы говорите, что хотите только один активный 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);
}

Я обновлю это, если будет опубликовано больше информации о проблеме:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...