2010-11-08 19 views
1

En fait, le titre de la question n'est pas correctement correct, ce que je veux dans mon programme, c'est que chaque fois que je lance mon programme, je prends une entrée de l'utilisateur dans une boîte de dialogue. J'ai fait une méthode pour cela et chaque fois que je veux utiliser cette chaîne dans mon programme j'appelle juste cette méthode mais mon problème est que chaque fois que j'appelle cette méthode, il apparaît la boîte de dialogue d'entrée que je ne veux pas. Je souhaite que la boîte de dialogue de saisie apparaisse une fois lorsque le programme est exécuté et que je puisse utiliser cette entrée n'importe où dans mon programme. S'il vous plaît aidez-moi. MerciEn utilisant une chaîne sur tout le programme en Java?

Répondre

2

Rendre le dialogue conditionnel basé sur la valeur de votre chaîne.

public String myPreciousString = null; 

public String getInput() { 
    if(myPreciousString == null){ 
     //show dialog 
     myPreciousString = dialog.getText(); 
    } 
    return myPreciousString ; 
} 
2

Créez une variable pour stocker la chaîne dans votre programme. Lorsque vous avez besoin de la chaîne, vérifiez d'abord la variable. Si elle contient une valeur, retournez-la et n'invitez pas l'utilisateur. S'il ne contient pas de valeur, demandez à l'utilisateur et stockez ce qu'il tape dans la variable avant de le renvoyer.

3

Ajoutez une variable booléenne statique dans la méthode dans laquelle vous appelez InputDialog. Après avoir appelé la boîte de dialogue pour la première fois, définissez la valeur de la variable booléenne var sur true. Et puis ajoutez une vérification qui déterminera si vous souhaitez afficher la boîte de dialogue ou non. Considérez le pseudo suivant;

static boolean isNotFirstRun; 

if (isNotFirstRun == false) { 
// Show InputDialog 

isNotFirstRun = true; 
} 

// Perform other operations. 

J'espère que vous avez eu l'idée.

+0

J'ai essayé ceci mais mon but n'est pas résolu: (( parce que chaque fois que j'appelle la méthode la valeur initiale est toujours fausse et par conséquent elle montre le dialogue encore. – Vipul

1

Ecrivez du code pouvant déduire l'état du programme. Donc, la première fois, ce sera l'état vide qui déclenchera le dialogue. S'il n'est pas vide, il utilisera simplement la valeur d'état. J'espère que cela t'aides.