J'ai une application Java GUI en cours d'exécution dans un seul fichier de classe. Dans cette application, j'ai un bouton qui, lorsqu'on clique dessus, est utilisé pour instancier et afficher un formulaire séparé dans un fichier de classe différent dans le même projet. Je ne sais pas comment accéder à cet autre fichier .java afin d'instancier et d'afficher le formulaire qu'il contient. J'espère que vous pourrez m'aider. Merci, Beef
Réponses
Trop de publicités?Comment accéder à un fichier de classe ? JFrame, JPanel, JTextField sont tous des exemples de code source Java contenu dans des fichiers séparés. Vous devez utiliser :
JFrame frame = new JFrame();
JPanel panel = new JPanel();
JTextField textField = new JTextField();
Ainsi, pour accéder à votre formulaire personnalisé, vous devez utiliser :
CustomForm form = new CustomForm();
Tant que le fichier de classe se trouve dans votre classpath, il ne devrait pas y avoir de problème.
Si vous avez des problèmes de compilation ou d'exécution, vous devez afficher le message pour que nous puissions vous aider.
Je suis quelque peu novice en Java, mais ne pouvez-vous pas simplement créer une autre classe contenant une interface graphique et, lorsque vous cliquez sur un composant JButton, vous pouvez simplement créer une instance de cette classe ?
if (clicked == myButton) then {
myGUIClass = new myGUIClass(); //if the GUI is in the constructors this will create
//the frame.
}
Ensuite, lorsque vous avez terminé avec le JFrame ou la classe, vous devez avoir une méthode dispose() qui met de l'ordre dans tous vos fichiers et quitte le JFrame.
Meilleures salutations, Doug Deines Hauf
Je pense que la création d'un nouveau formulaire en Java est un peu plus facile qu'en C# ou Visual Basic. En fait, il suffit de créer une autre classe et de construire le formulaire dans cette classe. Une fois que votre interface graphique est construite, vous pouvez simplement créer une instance de cette méthode dans une autre classe pour afficher l'interface graphique.
Par exemple :
if (ButtonClick == true) {
MyGui m = new myGui(...);
m.show
} else
//no GUI shown here
}
Ou vous pouvez simplement créer une classe anonyme pour instancier l'interface graphique.
new myGui(...);
Ce qui précède crée une classe anonyme, mais je pense qu'il est préférable de coder en créant une variable réelle de la classe, puis en appelant un paramètre de méthode qui affichera l'interface graphique.