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

avec Java Discussion :

Utiliser une police non installée sur le système


Sujet :

avec Java

  1. #1
    Membre régulier Avatar de maya
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 140
    Points : 90
    Points
    90
    Par défaut Utiliser une police non installée sur le système
    Bonjour à toutes et à tous !

    Je souhaite dans mon application utiliser une police qui n'est pas installé sur les machine des utilisateurs, pour que l'affichage ressemble à l'image ci dessous



    Est qu'il existe un moyen pour utiliser la police sans l'installer ?
    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 647
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 647
    Points : 11 136
    Points
    11 136
    Par défaut
    bonjour,

    tu peux ajouter ton fichier de police de caractères dans ton jar en tant que ressource.

    Puis tu appliques cet exemple :
    http://www.java2s.com/Code/Java/2D-G...romttffile.htm


    Dans ton cas, je ferai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    InputStream is = DemoFonts.class.getResourceAsStream("taPolice.ttf");
    font = Font.createFont(Font.TRUETYPE_FONT, is);
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String fName = "/fonts/" + name;
    InputStream is = DemoFonts.class.getResourceAsStream(fName);
    font = Font.createFont(Font.TRUETYPE_FONT, is);
    dans la fonction getFont()

  3. #3
    Membre régulier Avatar de maya
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 140
    Points : 90
    Points
    90
    Par défaut
    J'arrive pas !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    import javax.swing.SwingUtilities;
    import java.awt.BorderLayout;
    import java.awt.Font;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.InputStream;
    
    import javax.swing.JPanel;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import java.awt.Rectangle;
    
    public class ee extends JFrame {
    
    	private static final long serialVersionUID = 1L;
    	private JPanel jContentPane = null;
    	private JLabel jLabel = null;
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		SwingUtilities.invokeLater(new Runnable() {
    			public void run() {
    				ee thisClass = new ee();
    				thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    				thisClass.setVisible(true);
    			}
    		});
    	}
    
    	/**
    	 * This is the default constructor
    	 */
    	public ee() {
    		super();
    		initialize();
    	}
    
    	/**
    	 * This method initializes this
    	 * 
    	 * @return void
    	 */
    	private void initialize() {
    		this.setSize(300, 200);
    		this.setContentPane(getJContentPane());
    		this.setTitle("JFrame");
    	}
    
    	/**
    	 * This method initializes jContentPane
    	 * 
    	 * @return javax.swing.JPanel
    	 */
    	private JPanel getJContentPane() {
    		if (jContentPane == null) {
    			jLabel = new JLabel();
    			jLabel.setText("Hello world");
    			jLabel.setBounds(new Rectangle(6, 43, 284, 52));
    			Font font=null;
    			try {
    		    	InputStream is = getClass().getResourceAsStream("LEDBOARD.ttf");
    			    font = new Font(Font.createFont(Font.TRUETYPE_FONT,is).getFamily(), Font.BOLD, 38); 
    
    			
    		
    
    
    			}
    			catch (Exception ex) {
    
    		    ex.printStackTrace();    
    			}
    			jLabel.setFont(font);
    
    			jContentPane = new JPanel();
    			jContentPane.setLayout(null);
    			jContentPane.add(jLabel, BorderLayout.CENTER);
    		}
    		return jContentPane;
    	}
    
    }

  4. #4
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 647
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 647
    Points : 11 136
    Points
    11 136
    Par défaut
    bonjour Maya,

    Essaye comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    package testfont;
     
    import java.awt.Font;
    import java.awt.FontFormatException;
    import java.io.IOException;
    import java.io.InputStream;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
     
    /**
     *
     * @author 
     */
    public class TestFont extends JFrame
    {
        private JLabel lbl;
        private Font font = null;
        private InputStream is = null;
     
        public TestFont()
        {
            super();
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.setLayout(null);
            this.setSize(800, 120);
     
     
            lbl = new JLabel("Coucou tout le monde");
            try
            {
                is = this.getClass().getResourceAsStream("/resources/LEDBOARD.TTF");
                font = Font.createFont(Font.TRUETYPE_FONT, is);
                lbl.setFont(font.deriveFont(Font.BOLD, 40));
                lbl.setBounds(20, 20, 800, 50);
            }
            catch (FontFormatException ex)
            { }
            catch (IOException ex)
            { }
     
            this.add(lbl);
        }
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args)
        {
            // TODO code application logic here
            java.awt.EventQueue.invokeLater(new Runnable()
            {
                @Override
                public void run() 
                {
                    new TestFont().setVisible(true);
                }
            });
        }
    }
    N'oublie pas d'inclure le fichier ttf dans le jar (dans mon exemple il se trouve dans le dossier resource).
    Sinon as-tu un message d'erreur ?

  5. #5
    Membre régulier Avatar de maya
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 140
    Points : 90
    Points
    90
    Par défaut
    Super !

    Merci Auteur

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD18] utiliser une police sans qu'on puisse l'installer sur le client ?
    Par chapeau_melon dans le forum WinDev
    Réponses: 4
    Dernier message: 21/10/2013, 08h16
  2. Comment installer une police non standard sur un site internet ?
    Par Dsphinx dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 17/08/2010, 14h09
  3. Utiliser une police sur serveur
    Par spikto dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 18/01/2008, 14h47
  4. Comment utiliser une police spécifique sur un site
    Par Halukard dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 04/05/2007, 16h35

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