Exemple maintenant j'ai un cadre principal contient jtable afficher toutes les informations client, et il y avait un bouton créer pour ouvrir un nouveau JFrame qui permettent à l'utilisateur de créer un nouveau client. Je ne veux pas que l'utilisateur puisse ouvrir plus d'un cadre de création. Tout composant swing ou API peut le faire? ou comment peut désactivé le cadre principal? Quelque chose comme JDialog. Il suffit d'utiliser firstFrame.setVisible(false)
sur la première image.Comment désactiver JFrame principal lorsque ouvert nouveau JFrame
Répondre
Je suggère que vous créez un dialogue modal JDialog
pour que vous n'autorisiez pas la saisie d'autres dialogues/cadres dans votre application tant qu'elle est visible. Jetez un oeil à la modality tutorial pour plus de détails.
Il sera caché ..
si vous voulez une approche plus générale, vous pourriez avoir une référence à l'image affichée en cours quelque part et le changer quand une nouvelle demande de cadre à afficher
JFrame currentFrame;
void showRequest(JFrame frame)
{
currentFrame.setVisible(false);
currentFrame = frame;
currentFrame.setVisible(true);
}
Je veux que le cadre principal reste là, je veux juste m'assurer que l'utilisateur n'ouvre qu'un seul cadre de création. Je pensais à désactivé au bouton, mais y a-t-il d'autres bonnes pratiques à mettre en œuvre? – user236501
vous pouvez essayer avec __. SetFocusable (false) __, cela gardera le cadre, mais l'utilisateur ne sera pas autorisé à cliquer sur quelque chose à l'intérieur .. – Jack
Merci pour votre suggestion. J'ai essayé de le faire comme createButton.addActionListener (nouveau java.awt.event.ActionListener() {public void \t actionPerformed (java.awt.event.ActionEvent e) {\t \t \t \t \t ... \t createFrame.setVisible (true); \t mainframe.setFocusable (false); } }); Mais je peux toujours cliquer sur le bouton créer sur le cadre principal? – user236501
Je pense que vous devriez utiliser ce code pour le principal JFrame lorsque vous essayez d'ouvrir une nouvelle:
this.setEnabled(false);
si simple et effectivement répondre à la question OP, vous avez m'aider. –
Parfait, aurait dû être la réponse acceptée à "comment désactiver le cadre principal." Je vous remercie! – corporateWhore
Désolé pour la réponse tardive mais avez-vous considéré comme le modèle de conception Singleton? Il retournera la même instance d'une classe quand vous voulez la classe. Donc, si l'utilisateur veut un cadre pour entrer dans les détails, il n'y aura qu'un seul cadre ouvert (même instance)
Il va quelque chose comme ceci:
private static MySingleFrame instance = null; //global var
private MySingleFrame() { } //private constructor
private static MySingleFrame getInstance()
{
if(instance == null)
{
instance = new MySingleFrame();
}
//returns the same instance everytime MySingleFrame.getInstance() is called
return instance;
}
Vous pouvez utiliser:
private void btn_NewFormActionPerformed(java.awt.event.ActionEvent evt) {
this.hide();
new Frm_NewFormUI().setVisible(true);
}
- 1. Comment fermer JFrame suivi d'un autre JFrame?
- 2. Minimisation d'une JFrame supplémentaire lorsque l'application principale JFrame est minimisée
- 3. Comment fermer une jframe sans fermer le programme principal
- 4. Comment transférer des objets de Jframe vers un autre Jframe?
- 5. Java JFrame Form
- 6. JFrame Menu se cache
- 7. action écoutant un JFrame
- 8. Java JFrame Question
- 9. Evénement JFrame catch dispose
- 10. comment mettre image cliquable jframe
- 11. Intégrer un processus JFrame dans un autre processus JFrame
- 12. JFrame avec JTabbedPane & JButton
- 13. JFrame Agrandir la fenêtre
- 14. Java 6, JFrame coincé AlwaysOnTop
- 15. Réinstanciation d'un objet GUI (JFrame)
- 16. java-JFrame-DrawLine
- 17. JFrame action listener - Erron
- 18. AWTUtilities Transparent JFrame
- 19. Java JFrame méthode pack()
- 20. Java Custom JFrame
- 21. Console dans un JFrame
- 22. singleton JFrame pour différents objets
- 23. Quelles méthodes sont appelées lorsque vous redimensionnez un JFrame?
- 24. Conserver JFrame au-dessus des autres
- 25. Obtenir l'emplacement actuel d'un JFrame
- 26. Comment redimensionner automatiquement JFrame selon le contenu
- 27. Retirer un JPanel d'un JFrame
- 28. Maximiser un JFrame en action?
- 29. JOptionPane l'ouverture d'un autre JFrame
- 30. Java - Paint, JFrame et Backgrounds
Salut, il fait exactement ce que je veux. Merci beaucoup – user236501
D'autre part, les interfaces utilisateur modales sont * très * ennuyantes, alors pensez à refondre l'interface graphique pour permettre d'éditer plusieurs utilisateurs différents en même temps. – KarlP