Comment puis-je définir une Icône d'Application à l'échelle Mondiale en Swing?
Je sais que je peux spécifier un pour chaque forme, ou de la racine et puis il va cascade grâce à tous les enfants les formes, mais j'aimerais avoir un moyen de passer outre la valeur par défaut de Java Coffee Cup pour toutes les formes, même ceux que je pourrais oublier.
Des suggestions?
OriginalL'auteur Allain Lalonde | 2008-09-19
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire la racine de forme, je suppose que vous voulez dire
JFrame
) être votre propre sous-classe deJFrame
, et de mettre la fonctionnalité standard dans son constructeur, tels que:Vous pouvez intégrer d'autres trucs standard dans ce cas aussi, comme la mémorisation de l'image de la fenêtre paramètres de préférences de l'utilisateur, la gestion de splash volets, etc.
Tout de nouvelles images engendrées par celui-ci allait être aussi des occurrences de ce
JFrame
sous-classe. La seule chose que vous devez retenir, c'est d'instancier votre sous-classe, au lieu deJFrame
. Je ne pense pas qu'il n'y a aucun substitut pour se rappeler de le faire, mais au moins maintenant c'est une question de se souvenir d'une sous-classe à la place d'unsetIconImage
appel (entre autres fonctions).Oui, il y a doit être un moyen, mais le soleil n'a pas fourni une. C'est probablement un sev3 amélioration dans bugparade quelque part...
OriginalL'auteur Paul Brinkley
Il y a une autre façon, mais plus d'un "hack", puis une vraie solution....
Si vous êtes à la distribution de la JRE avec votre Application, vous pouvez remplacer la tasse de café de ressources icône java exe/dll/rt.jar quand c'est votre propre icône. Il pourrait ne pas être très légitime, mais c'est une possibilité...
Si c'est la seule façon, il n'a pas d'importance si vous êtes désespéré, ou pas 🙂 Mon entreprise à travers InstallAnywhere de
executableIcon
de la propriété. Je pense qu'il n'en remplaçantJavaCup.png
dansjre/lib/resources.jar
.OriginalL'auteur John Gardner
Aussi, si vous avez une "principale" de la fenêtre, et de définir son icône correctement, aussi longtemps que vous utilisez cette fenêtre principale, comme le "parent" pour toutes les classes de boîte de Dialogue, ils hériteront de l'icône. Toutes les nouvelles Images besoin d'avoir le jeu d'icônes sur eux, si.
comme Paul/Andreas dit, sous-classement JFrame est va être votre meilleur pari.
OriginalL'auteur John Gardner
Étendre la classe JDialog (par exemple nom, il MyDialog) et de définir l'icône dans le constructeur. Ensuite, toutes les boîtes de dialogue devrait s'étendre vos mise en œuvre (MyDialog).
OriginalL'auteur Andreas Bakurov