Adding image to JButton
41,885
Solution 1
Two things
- The path looks wrong
- Java doesn't, natively, support the
ico
format
Take a look at the path, there is quote mark in the path
C:\\Users\\Aksi\\Documents\\NetBeansProjects\\test'\\src\\test\\Black_B.ico
Just be sure it's suppose to be there or not
Solution 2
Please note that you should use some Java supported image format like .gif, .png for instance.
Solution 3
Try this way:
Create package in your java project like com.icon and add icons in it.
You will set icon's on button this way:
button.setIcon(new ImageIcon(MyFrame.class.getResource("com/icon/Ok.png")));
Just an advice: Use .png instead of .ico.
Solution 4
It is well documented on Oracle.
http://docs.oracle.com/javase/tutorial/uiswing/components/button.html
Good luck!
Author by
Admin
Updated on December 05, 2020Comments
-
Admin over 3 years
I want to add an image to a
JButton
. Background of the button is set to black. I tried to add the image on top of it, but nothing was shown. Background color was black but the image was missing.Code
public class Test extends JFrame { JButton b; JPanel p; Test() { p = new JPanel(new BorderLayout()); b = new JButton(); b.setBackground(Color.black); ImageIcon img = new ImageIcon("C:\\Users\\Aksi\\Documents\\NetBeansProjects\\test'\\src\\test\\Black_B.ico"); b.setIcon(img); setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(400, 400); p.add(b); add(p); validate(); } public static void main(String args[]) throws IOException { Test ob = new Test(); ob.setVisible(true); } }
-
Andrew Thompson over 11 yearsGood catch. For a list of the image types that a JRE claims to support, see
ImageIO.getReaderFileSuffixes()
. Note the output might change according to version or OS, so it is best to check at run-time for user images, and stick to JPG, PNG or GIF for application images. -
Kishan Bheemajiyani almost 10 years+1 for @MadProgrammer answer its correct and ya happy Friendship day MadProgrammer :)