J'utilise Vista, mon ancienne application Java a fonctionné sur Win XP a des bordures minces, d'environ 2 pixels d'épaisseur, mais maintenant sur Vista, les bordures perdent de leur épaisseur, peut-être 6,7 pixels épais, puis-je spécifier en Java l'épaisseur de mes bordures JFrame?Comment régler l'épaisseur de la bordure JFrame en Java
Répondre
Par défaut, les bordures sont gérées par le système de fenêtrage natif. Mais dans l'API JFrame, il existe une méthode setDefaultLookAndFeelDecorated(boolean)
. Il dit que s'il est défini sur et si l'aspect actuel le permet, il utilisera l'apparence pour dessiner les bordures, le titre et les boutons. Je n'ai jamais essayé cela, car je ne sais pas quel look et sens supporter la décoration. La première chose serait d'en trouver un qui le fasse, puis de le définir via l'argument UIManager
ou de la ligne de commande -Ddefault.laf
, et d'activer la décoration d'apparence via la méthode JFrame.
Si vous utilisez cette option, vous obtiendrez probablement une décoration de fenêtre non standard. Étant donné les petits morceaux de bonbons pour les yeux de Vista (lueur en survolant les boutons et la barre de titre translucide), êtes-vous sûr de vouloir faire ça?
Une autre option est d'utiliser la méthode JFrame.setUndecorated(boolean)
et de gérer vous-même le rendu des bordures, la barre de titre, etc., mais c'est probablement encore plus difficile.
@Frank. J'ai supprimé la réponse que j'ai donnée plus tôt parce que, comme vous l'avez souligné, cela n'aide pas. Je vais continuer à chercher d'autres solutions. –