0
votes

JEFAME très basique ne pas montrer

Je sais que cette question a été posée à plusieurs reprises et j'ai essayé des solutions mentionnées là-bas pour la dernière heure, mais aucun d'entre eux n'a travaillé pour moi. J'ai un cadre très basique et il ne se présente pas . Aucune erreur, après la compilation, il suffit de "construire réussir".

Tout le code est le suivant: xxx

Merci d'avance pour votre aide.


2 commentaires

Commencez par lisant le tutoriel de swing sur Comment faire des cadres . Téléchargez et testez le Framedemo exemple. Cela vous montre la bonne façon de créer des composants de swing. Une clé est que les composants d'oscillation doivent être créés sur modifiés sur le thread d'expédition (EDT) . Si ce code ne fonctionne pas, vous avez probablement quelque chose de mal avec votre JDK. Essayez de réinstaller.


Framedemo de cette page m'a montré des alertes sur la version Java. Mis à jour et n'a pas aidé, mais une autre erreur concernant JDK s'est produite. Installé la version la plus récente d'adoptopenjdk et de la trame est enfin de retour. Merci! Pouvez-vous s'il vous plaît le republier comme réponse à me permettre de donner à votre réponse une tique?


4 Réponses :


1
votes

Je pense que votre instance de cadre en main est du paquet Java.Awt. * que vous avez importé. Vérifiez-le.


3 commentaires

Bonne idée, mais même si j'ai changé de nom d'emballage, de classe et de constructeur de «cadre» à quelque chose d'autre, cela ne fonctionne toujours pas.


J'ai copié votre code et ça me convient bien. Seul diff est le package importé que je n'ai que le package swing.


Oui, Java.Awt n'est pas encore utilisé alors la suppression de cela ne fait aucune différence du tout. Étrange, pour moi encore de ne pas travailler.



0
votes

Je ne vois aucun problème avec votre programme. Je viens d'essayer le programme suivant et que le cadre a montré sans problème: xxx

Je pense que vous devriez modifier les valeurs dans ceci.setbounds (100, 500, 100, 100) < / code> et réessayez.


2 commentaires

Essayé de changer ces valeurs à peu d'autres combinaisons, toujours rien.


@galdrann - j'ai manqué votre commentaire en quelque sorte. Tout en cherchant quelque chose d'autre, je viens de rencontrer cette page. Je ne sais pas si cette solution a fonctionné pour vous ou si vous avez implémenté une solution différente. Si vous avez implémenté une solution différente, il sera utile si vous partagez la même chose. Dans les deux cas, vous pouvez aider la communauté en acceptant la réponse qui a fonctionné pour vous. Une réponse acceptée aide les futurs visiteurs à utiliser la solution avec impatience. Vérifiez meta.stackexchange.com/questions / 5234 / ... pour apprendre à le faire.



1
votes

J'ai essayé votre programme et le cadre montre bien pour moi. Couple d'étapes que vous pouvez essayer -

  1. Après avoir exécuté le programme, vous devez enregistrer le responsable de la tâche si un nouveau processus Java est visible et, dans l'affravation, développez-le et vous devriez voir «Bonjour», essayez de l'amener à l'avant (clic droit sur le processus -> apporter à l'avant ).
  2. à partir d'un point de vue de code, essayez d'ajouter this.pack (); après this.setdefaultcloseoperation et réexécuter le programme.

2 commentaires

D'un point de vue de code, rien ne fonctionne, mais je pense que nous avons trouvé un problème. Je ne peux pas voir le processus Java / JPS dans le gestionnaire de tâches . J'ai essayé de vérifier les processus Java par JPS -L dans la ligne de commande, mais il affiche uniquement 2992 8716 jdk.jcmd / sun.tools.jps.jps pendant que je Comprendre que cela devrait également indiquer le processus de trame s'il n'est pas défini pour fermer automatiquement. Savez-vous ce que je peux faire avec cela?


Que se passe-t-il si vous commencez super ("Bonjour"); et réexécuter le programme? Le cadre apparaît-il?