2009-07-14 4 views
0

Donc, j'ai une interface graphique Swing qui, à des fins de test (les autres applications avec lesquelles ma tâche va interagir ne sont pas encore développées), j'aimerais pouvoir donner une "console de débogage".Répliquer "l'onglet d'affichage" d'Eclipse dans mon application Java/Swing?

L'idée étant que je pourrais utiliser cette console pour définir explicitement des valeurs dans mon modèle, et vérifier que les éléments d'interface graphique appropriés sont mis à jour. L'onglet d'affichage du débogueur Eclipse est exactement ce que je veux: une fois que vous avez atteint un point d'arrêt, vous pouvez taper du code Java applicable au contexte de la méthode courante et l'exécuter comme si ce code faisait partie de la source au point d'arrêt actuel . Mais, je veux cela dans le cadre de mon application - sans avoir à exécuter une application séparée (Eclipse), définir un point d'arrêt, frapper le point d'arrêt, etc. (C'est ce que je fais maintenant - ça fonctionne, mais c'est légèrement ennuyeux.) Y at-il une bibliothèque existante qui comprend quelque chose comme ça?

+0

Pourquoi voulez-vous cette fonction de débogage en double? – akarnokd

+0

Je pense que je l'ai dit dans la question initiale - mais je veux que cela soit intégré à mon application, au lieu d'avoir à exécuter mon application + un débogueur externe et de basculer entre les deux à l'exécution. – Sbodd

Répondre

0

Une technique intéressante consiste à utiliser un volet de texte en conjonction avec JavaScript (le moteur Rhino est maintenant intégré dans le JRE). Le script aura accès à vos objets d'application et vice-versa.

est ici info sur calling Java from JavaScript

et est ici info sur executing the script from the Java side - les exemples de code de construction là-bas à peu près de ce que vous voulez faire (il suffit de prendre le texte dans le textPane et l'exécuter en utilisant le moteur de script). Nous utilisons ce genre de chose pour les boîtes de dialogue de configuration avancées dans lesquelles nous introduisons des fonctionnalités mais qui n'ont pas encore de GUI solide. C'est cool car vous pouvez implémenter une interface en JavaScript, puis utiliser l'objet résultant ailleurs dans l'application Java.

+0

C'est plutôt gentil, merci! (Maintenant, j'ai juste besoin d'aller apprendre JavaScript ...) – Sbodd

+0

hah - ce n'est pas difficile pour ce que vous essayez probablement de faire - définir une variable, inspecter une variable. Je vais laisser à vous de décider si vous devez marquer ma réponse comme la réponse acceptée :-) –

+0

Oui, certainement suffisant pour mes besoins en ce moment - très apprécié. – Sbodd

Questions connexes