2011-02-07 5 views
2

У меня есть две формы: f_main и f_recruitment. Я поставил метку в f_main с этим кодом:Только один активный новый jframe

.... 
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 открыт?

Update:

Спасибо, что я имею в виду, как я могу предотвратить пользователя от повторного нажмите jLabel2 и другой f_recruitment открыты ..? (Я допускаю, чтобы f_main-форма была видна нарочно, а новая форма f_recruitment открыта)

ответ

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); 
} 

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

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); 
    } 
Смежные вопросы