Changer police d'un JButton
parousky
Messages postés
325
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour, j'aimerai modifier la police du texte dans un bouton, j'ai beau regarder tous les tutos et les forums, je n'y arrive pas. Alors j'ai trois classes, une qui ouvre la fenêtre, l'autre qui définit le Panel, et l'autre qui définit la tâte du bouton.
Alors voilà la classe fenêtre :
import javax.swing.*;
import java.awt.*;
import javax.swing.JButton;
public class Fenetre extends JFrame
{
private BoutonAccueil p = new BoutonAccueil("Démarrer partie");
private BoutonAccueil q = new BoutonAccueil("Comment jouer");
private Accueil f = new Accueil();
private JLabel j = new JLabel();
private GridBagLayout gridBagLayout1 = new GridBagLayout();
public Grille()
{
this.setTitle("MagicMorpion");
this.setSize(835,626);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setContentPane(f);
setLayout(null);
this.add(p);
p.setBounds(343, 175,149,40);
this.add(q);
q.setBounds(343,370,149,40);
this.setVisible(true);
}
}
La classe Fond :
import java.awt.*;
import javax.swing.*;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Fond extends JPanel
{
public void paintComponent(Graphics g)
{
Font police = new Font("Times Roman", Font.BOLD,30);
g.setFont(police);
try{
Image im = ImageIO.read(new File("C:\\Imagesbluej\\accueil.png"));
g.drawImage(im,0,0,this);
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
Et la classe Bouton :
import java.awt.*;
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JButton;
public class BoutonAccueil extends JButton
{
private String name;
private Graphics g;
public BoutonAccueil(String str){
super(str);
this.name = str;
Font fonte = new Font("TimesRoman",Font.BOLD,30);
g.setFont(fonte);
g.drawString("str",0,0);
}
Et il ne se passe rien ! Je sais que ça fait beaucoup de code d'un coup, mais avez-vous trouver le problème ?
Merci d'avance pour vos réponses !
Alors voilà la classe fenêtre :
import javax.swing.*;
import java.awt.*;
import javax.swing.JButton;
public class Fenetre extends JFrame
{
private BoutonAccueil p = new BoutonAccueil("Démarrer partie");
private BoutonAccueil q = new BoutonAccueil("Comment jouer");
private Accueil f = new Accueil();
private JLabel j = new JLabel();
private GridBagLayout gridBagLayout1 = new GridBagLayout();
public Grille()
{
this.setTitle("MagicMorpion");
this.setSize(835,626);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setContentPane(f);
setLayout(null);
this.add(p);
p.setBounds(343, 175,149,40);
this.add(q);
q.setBounds(343,370,149,40);
this.setVisible(true);
}
}
La classe Fond :
import java.awt.*;
import javax.swing.*;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Fond extends JPanel
{
public void paintComponent(Graphics g)
{
Font police = new Font("Times Roman", Font.BOLD,30);
g.setFont(police);
try{
Image im = ImageIO.read(new File("C:\\Imagesbluej\\accueil.png"));
g.drawImage(im,0,0,this);
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
Et la classe Bouton :
import java.awt.*;
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JButton;
public class BoutonAccueil extends JButton
{
private String name;
private Graphics g;
public BoutonAccueil(String str){
super(str);
this.name = str;
Font fonte = new Font("TimesRoman",Font.BOLD,30);
g.setFont(fonte);
g.drawString("str",0,0);
}
Et il ne se passe rien ! Je sais que ça fait beaucoup de code d'un coup, mais avez-vous trouver le problème ?
Merci d'avance pour vos réponses !
A voir également:
- Changer police d'un JButton
- Changer dns - Guide
- Changer police facebook - Guide
- Changer police instagram - Guide
- Police aptos - Accueil - Bureautique
- Changer carte graphique - Guide
1 réponse
Tu ne peux pas utiliser "TimesRoman" car cela ne fait pas partie des fontes autorisées. Tu peux afficher les fontes disponibles comme ceci :
Ce qui se rapproche le plus c'est "Times New Roman", exemple :
La confiance n'exclut pas le contrôle
System.out.println(Arrays.toString(GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()));
Ce qui se rapproche le plus c'est "Times New Roman", exemple :
public static void main(String[] args)
{
Font f = new Font("Times New Roman", Font.BOLD, 30);
UIManager.put("Button.font", f);
new Grille(); // ou new Fenetre(), ton code n'est pas clair à ce sujet
}
La confiance n'exclut pas le contrôle