2010-06-28 5 views
2

Je ne suis pas sûr d'avoir défini le bon titre pour cet article - il est donc possible qu'il y ait déjà un post pour ce que je cherche, si c'est le cas, n'hésitez pas à le fermer me rediriger - ce que j'essaie de faire est la suivante:Java JFrame garder le focus quand il est visible

Quand un JFrame est placé, l'utilisateur ne doit pas pouvoir cliquer ailleurs dans l'interface graphique à moins que cette fenêtre ne soit fermée, en espérant que le message d'erreur "DING" un message comme dans netbeans quand une fenêtre "Personnaliser le code" est ouverte et ne vous permet pas de faire quoi que ce soit à l'extérieur avant qu'il ne soit fermé.

Merci d'avance!

Répondre

6

JFrame ne doit pas être déplacé tant que vous ne voulez pas que deux applications autonomes (de niveau supérieur) s'exécutent en même temps, c'est pourquoi JFrames ne peut pas être modal. Ce que vous voulez probablement, c'est un JDialog réglé sur modal (fera même ce bruit ennuyeux).

+0

Je ne suis pas exactement sûr d'avoir compris votre point. Je lance un 'JFrame' pour ajouter beaucoup d'entrées de l'utilisateur, ce qui ne peut pas être fait avec un JDialog. Donc vous me dites que je ne peux pas faire un JFrame avoir cet attribut? Est-ce 100%? – kxk

+0

Pourquoi exactement ne pourrait-il pas être fait avec JDialog, qui est fait pour DIALOGS avec l'utilisateur? JFrames sont utilisés comme conteneurs pour les applications de niveau supérieur. Cela signifie qu'ils ne sont pas supposés avoir un parent quelconque et ne peuvent donc pas être modalisés (c'est la raison pour laquelle ils n'ont pas l'attribut "modal".) Je ne dis pas que je suis sûr qu'il ne peut pas De toute façon, je dis juste que ce n'est pas censé le faire .. – cypher

+0

Eh bien, JDialog est trop petit et inaccessible dans la mesure où j'en ai besoin, c'est la raison pour laquelle je l'essaie avec un JFrame. Je pense que j'attendrai pour avoir plus d'opinions aussi Merci – kxk

0

Créez le JFrame en tant que fil séparé de façon à avoir le focus sur la fenêtre en cours.

+1

Fil séparé, c'est-à-dire? – kxk