J'essaie d'étendre JXDatePicker pour qu'il s'ouvre une fois qu'il a été mis au point. J'ai cherché pour suggérer que je comprends sans succès. Existe-t-il une manière élégante de faire ceci?Ouverture de JXDatePicker lors de la mise au point
Répondre
Etonnamment, ce n'est pas vraiment possible :-(
Pour une fois, le JXDatePicker lui-même n'a pas api pour afficher/masquer la fenêtre contextuelle (uniquement BasicDatePickerUI a) plus le délégué ui a un peu de magie interne (lire:. Hacks ... toux) qui fait une focusListener pire à manipuler même que d'habitude dans les composants composés
un extrait de jouer avec:.
final JXDatePicker picker = new JXDatePicker();
FocusListener l = new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
// no api on the picker, need to use the ui delegate
BasicDatePickerUI pickerUI = (BasicDatePickerUI) picker.getUI();
if (!pickerUI.isPopupVisible()) {
pickerUI.toggleShowPopup();
}
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// opening the popup moves the focus to ... ?
// need to grab it back onto the editor
picker.getEditor().requestFocusInWindow();
}
});
}
@Override
public void focusLost(FocusEvent e) {
}
};
// need to register the listener on the editor
picker.getEditor().addFocusListener(l);
JComponent content = new JPanel();
content.add(new JButton("dummy"));
content.add(picker);
Pas vraiment satisfaisant, comme la fermeture automatique de la fenêtre contextuelle sur transférer la mise au point sur à nouveau ne fonctionne pas de manière fiable, a besoin de deux onglets (ne sais pas pourquoi)
merci .......... :-) – mKorbel
- 1. Problème de ViewPager lors de la mise au point
- 2. mise au point automatique lors de la numérisation QR code
- 3. CEdit sélectionne tout lors de la mise au point
- 4. Empêcher la mise au point de la fenêtre 0optimaliser
- 5. CDateTimeCtrl - la prévention du changement « de mise au point » lors de la mise jour
- 6. Mise au point de la caméra S60
- 7. formes de mise au point
- 8. ScrollView vole la mise au point lors du défilement
- 9. C# détecter l'application mise au point mise au point
- 10. désactiver la mise au point tactile lors du chargement
- 11. Mise au point de Windows Vista Problème
- 12. Mise au point de travail de quartz
- 13. style de mise au point de contrôle
- 14. Mise au point de l'avertissement de batterie
- 15. Zone de mise au point de DateField
- 16. Erreur de mise au point dans IE8 sans mise au point
- 17. Evénement Javascript lors du changement/de la mise au point de l'onglet/de la fenêtre
- 18. Modification de la disposition du clavier lors de la mise au point de l'application
- 19. Vérification constante de la mise au point de la fenêtre
- 20. Arrêter la mise au point de la fenêtre de notification
- 21. Mise au point perdu lors de la mise à jour d'un JDialog
- 22. Comment changer les images des boutons sur la mise au point ou la mise au point?
- 23. Changement d'icône lors de la mise au point et de la défocalisation du widget Tab Android
- 24. L'info-bulle jQuery s'ouvre à nouveau lors de la mise au point de la fenêtre
- 25. Désactiver l'actualisation de la page lors de la mise au point
- 26. Swing: bouton radio de la bordure transparente lors de la mise au point
- 27. Android: demande la mise au point pour un boutton au lieu de l'EditText
- 28. Réglage de la mise au point après animation Div
- 29. Problème de mise au point wpf textbox
- 30. Remplacer l'action de mise au point VK_Tab
comme toujours avec JQuelque chose: ne pas étendre :-) sur l'enfant concerné, pas le parent (comme avec un combo modifiable) – kleopatra
Je suis assez nouveau à Java est là quelque part, je peux obtenir ce genre de conseils. En particulier pour savoir pourquoi on ne devrait pas prolonger un JSomething, semblait une bonne idée et je l'ai fait pour un certain nombre d'autres composants avec un succès apparent :-) Quel désastre me attend? –
@kleopatra aaaach s'il vous plaît :-) cette réponse ne parle pas de quelque chose à propos de Whats Action montrant JXxxXxxPopup avec JXMonthPanel :-) – mKorbel