IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Font sous Linux


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 199
    Par défaut Font sous Linux
    Bonjour à tous.

    J'ai une application que je lance via Eclipse sous Windows. Pour le moment tout va bien.

    Cependant, j’exécute la même application sous Linux (Distributeur CentOs), et c'est donc là que j'ai un soucis.

    En effet, j'ai des boutons qui contienne du texte mais ce texte déborde du bouton. Et cela se passe que sous Linux. La JRE est la même, tout est identique niveau configuration. Quand on regarde de plus près on dirait que l'espacement entre les caractères est plus conséquent sous Linux.
    Je pense donc que la police utilisée n'est pas la même quand j'exécute sous Windows que quand j'exécute sous Linux.

    Je voulais donc savoir quelles sont les polices utilisées quand j'exécute mon application. Celle de l'OS ou celle de Java. Comment savoir quelle police est utilisée au lancement de l'application. Et enfin comment définir la police que je souhaite utiliser au niveau configuration Java ou OS.

    Merci d'avance pour vos réponses.

    PS : je ne pourrais pas fournir d'aperçu des boutons. Désolé.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    un mix des deux. Les polices sont fournies par l'OS, mais java choisi, dans son lookandfeel, les "familles" de police. Mais sous windows tu n'aura pas nécessairement la même police que sous linux. D'ailleurs, d'un windows à un autre, tu peux aussi avoir des différence, suivant le nombre de DPI du moniteur ou le style windows choisi par l'utilisateur.


    normalement, sauf faute de design de l'interface, les composant java s'adaptent automatiquement pour avoir une taille adaptée au texte. Si le texte déborde de tes JButton, c'est probablement qu'il n'y a plus de place pour agrandir le bouton, et que tu as probablement trop contraint ton interface à certaines tailles.

  3. #3
    Membre émérite Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Par défaut
    Tu ne peux pas enticiper quel sera le type de police de caractères utilisée. L'utilisateur peut chosir une taille plus grande que ce que tu utilise pour toi, par exemple. Il faut donc que la taille des boutons s'adapte, ainsi que tout le layout. C'est l'objet des layouts, en fait : ne pas définir les positions et les tailles de manière absolue et rigide, mais de manière relative et auto-adaptable, quitte à se "dégrader gracieusement" en cas de choix extrêmes de l'utilisateur en ce qui concerne les polices de caractère, par exemple.

    Sinon, je pense que la police utilisée sous win est Verdana, qui n'existe pas sous nux par défaut, mais il y a un fichier de config de Java, je ne sais plus où, qui précise la police à utiliser. Il y a moyen d'installer Verdana sous linux, aussi.

    Mais même sous win, il suffit que l'utilisateur change quelques petites chose dans le L&F pour que la taille des contrôles change. En fait, il ne faut pas ajuster finement l'aspect du GUI : c'est du temps perdu, il vaut mieux passer ce temps à mettre au point un layout adaptable et robuste.

  4. #4
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Par défaut
    Vous pourriez aussi fixer vous-même les polices, et les embarquer dans l'archive de votre application. Au moins comme ça, vous serez sûr d'utiliser la même police.
    Pour le reste, vous ne pourrez jamais palier aux contraintes décrites par Tchize et Joe_chip, différences de DPI écran, et ou de résolution entre votre poste de travail et ceux de vos utilisateurs sont inévitables.
    En résumé, je dirai qu'il y a deux écoles.
    L'absolue, et le relatif.
    En effet, bénéficier des Layout pour permettre plus de liberté d'adaptation à l'utilisateur est agréable, mais je me permet de dire, pas indispensable.
    Moi, personnellement, je suis de l'école de l'absolu. Je sais que je vais faire dresser des cheveux sur quelques têtes, mais la plupart de mes applis définissent leur Layout à null, et je fixe position et taille de mes composants. Quand à mes fenêtres, elles sont tout simplement de taille unique et non redimensionnables.
    Maintenant, c'est un choix qui vous appartient...
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  5. #5
    Membre émérite Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Par défaut
    Ca veut dire qu'il faut redéfinir le layout à la main à chaque appli... grosse perte de temps...

  6. #6
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Par défaut
    Aucune perte de temps, c'est à ça que sert un EDI comme NetBeans. Cela ne prends pas une seule seconde de plus. D'aileurs, l'image ci-dessous représente une fenêtre de dialogue que j'ai improvisé rapidement. J'ai mis exactement 6 minutes pour la réaliser. Je demande à voir le temps nécessaire pour obtenir exactement ce résultat avec les Layout...



    En effet, lorsque je dits que je fixe les bounds de mes composants, c'est NetBeans qui les fixes lorsque je les dépose sur la fenêtre.
    Mais ce qui se fait le plus souvent, c'est d'utiliser les Layout, surtout, parce que c'est plus simple.
    Le seul Layout que j'utilise et qui n'est pas vraiment un Layout mais un mixe de plusieurs se nomme "Free Design". Il est apparu assez récemment dans Netbeans.
    Il offre la même liberté au développeur de placer ses composant où bon lui semble sur sa fenêtre, tout en étant un Layout, qui permet donc le redimensionnement proportionnel des composants en cas de changement de taille de la fenêtre.
    Maintenant, comme je ne me suis jamais vraiment intéressé aux Layout, je n'ai pas suivi leur évolution. Quand on le maîtrise, on doit pouvoir faire de belle chose. Mais là, on doit y passer beaucoup de temps. Peut-être en existe-t-il aujourd'hui de bien plus souple et efficace.
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Le soucis, c'est que j'ai rarement vu des interface aussi simples que celle que tu présente. Et dans la pratique, quand tu dois jouer avec ces interfaces plus complexe, que tu ajoute le fait que certains élément on un contenu de taille variable, et que les textes doivent pouvoir être traduits, le layout null pose vite problème. Le contenu de JRadioButton1 peux faire 5 caractères dans une langue et 35 dans une autre.

    J'ai beau regarder sur mon bureau, que ce soit dans les interfaces java ou autre, à part les boites de dialogue (et encore) je n'ai rien d'aussi simple que ce que tu présente.

Discussions similaires

  1. [Série] Accès au port série sous linux
    Par ghost dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 10/10/2007, 10h43
  2. Comment désinstaller MySQL sous linux
    Par nahmsath dans le forum Installation
    Réponses: 5
    Dernier message: 18/09/2007, 10h46
  3. installer jbuilder7 sous linux
    Par rtlinfo34 dans le forum JBuilder
    Réponses: 5
    Dernier message: 30/10/2002, 19h16
  4. Réponses: 2
    Dernier message: 25/10/2002, 22h19
  5. Je ne peux établir une connexion cliente sous Linux.
    Par Anonymous dans le forum CORBA
    Réponses: 5
    Dernier message: 16/04/2002, 15h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo