Comment insérer une imageIcon dans JButton en Java
Vous pouvez ajouter une image ou un icone à un bouton en java au moment de la déclaration de JButton dans le constructeur:JButton b = new JButton(Icon icone);ou:
JButton b = new JButton(String texte, Icon icone);Exemple:
import java.awt.Dimension;Sortie
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
public class JButtonTest extends JFrame{
JButton b = new JButton("Ouvrir", new ImageIcon("icon.png"));
public JButtonTest(){
JFrame frame = new JFrame("JFrame test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
b.setPreferredSize(new Dimension(150,100));
frame.getContentPane().add(b);
frame.pack();
}
public static void main(String[] args) {
new JButtonTest();
}
}
La méthode setIcon
L'insertion d'un icone est aussi possible après la création du bouton en appelant la méthode JButton.setIcon(ImageIcon img)qui se trouve dans la super classe AbstractButton.
ImageIcon image = new ImageIcon("icon.png");
b.setIcon(image);
Importer l'ImageIcon à partir du classpath
Pour charger l'image à partir d'un dossier, utilisez la méthode ImageIO.read(). Cette méthode prend le chemin de l'image (ressource) comme argument qui est stocké dans notre le projet java. La méthode getClass().getRessource() utilise le chargeur de classe pour charger la ressource. Cela signifie que cette ressource doit être dans la racine de votre projet pour qu'elle soit chargée.
Documentation Oracle: AbstractButton: setIcon method
Java tutorials: Reading an image
Stackoverflow: getclass.getressource
try {Références:
Image img = ImageIO.read(getClass().getResource("/icon.png"));
b.setIcon(new ImageIcon(img));
} catch (IOException ex) {
}
Documentation Oracle: AbstractButton: setIcon method
Java tutorials: Reading an image
Stackoverflow: getclass.getressource