2009-10-31 39 views
4

Est-il possible de capturer le texte de dire un contrôle Edit Box ou Label sur une applet Java?Capture de texte à partir de contrôles sur une applet Java

Dans un programme Win32 plus traditionnel, cela peut être accompli en utilisant FindWindow, FindWindowEx avec des choses comme GetWindowText.

J'ai étudié avec WinSpy mais l'applet Java est juste une grande fenêtre sans enfants.

Je me demande s'il existe une méthode similaire, peut-être spécifique à Java, que nous pourrions utiliser pour une applet Java.

+0

Nous aimerions aussi faire la même chose et ne peut modifier l'applet. Nous considérons proxy l'applet et la livraison de notre propre Main qui appelle leur principale .... ick, mais pas sûr que toute autre façon fonctionnera à ce stade. –

Répondre

0

Vous devez rechercher les documents API pour javax.swing.JLabel et javax.swing.JTextArea. Ce sont les classes qui implémentent une zone de texte ou une étiquette. Ces classes fournissent des mécanismes pour obtenir la valeur des contrôles.

Par exemple:

String val = myText.getText(); 

Obtiendrez le texte saisi dans la zone de texte.

+0

Excuses. J'aurais probablement dû préciser que je devais le faire à partir d'un programme externe. Dans mon cas, un programme C# .NET. De plus, l'applet Java n'est pas "nôtre", nous ne pouvons donc pas la modifier. – nbevans

0

Cette information devrait être disponible pour l'accessibilité. Je ne suis pas une personne de la plate-forme Microsoft, mais il y a le Java Access Bridge for Microsoft Windows.

+0

Juste au cas où il y a quelque chose de visqueux autour de ce que vous essayez de faire, et le pont ne fonctionnera pas. L'autre option dans ce cas serait d'utiliser JNI. Vous pouvez donc utiliser une DLL pour transmettre les informations d'Applet à OS. Ce serait probablement plus compliqué mais encore une autre option. – Keibosh

0

Par exemple, vous créé:

private JLabel lblText; 
lblText= new JLabel("Hello World"); 

pour obtenir le texte de l'étiquette:

lblText.getText(); 

pour définir le texte:

lblText.setText("new text");