Set JOptionPane icons



Complete source code below will show you, how to set JOptionPane icons using any GIF image. Before you compile and execute complete source code below, you need to download all images below and place them with your java file that contain source code below.You also can use any GIF image that you want, but make sure it's location is right. This is because i suggest you place all GIF image at same location with source code file. So you don't need to put any file path in your source code. If you still want to use GIF image at other location, you can try step by step below.

For example, your GIF image with name MyImage.gif locate at C:\Documents and Settings...like below :

C:\Documents and Settings\MyImage.gif

So, you must put in your source code like this :
"C:\\Documents and Settings\\MyImage.gif"


WARNING.gif



QUESTION.gif



INFORMATION.gif



ERROR.gif


Click here for how to create all icons above

****************************************************************
COMPLETE SOURCE CODE FOR : ChangeJOptionPaneIcons.java
****************************************************************


import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.LookAndFeel;

import java.awt.GridLayout;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class ChangeJOptionPaneIcons implements ActionListener
{

JButton button=new JButton("JOptionPane with Error Icon");
JButton button2=new JButton("JOptionPane with Information Icon");
JButton button3=new JButton("JOptionPane with Question Icon");
JButton button4=new JButton("JOptionPane with Warning Icon");

JFrame frame=new JFrame("Change JOptionPane icons");

public ChangeJOptionPaneIcons()
{
//---START SETTING NEW ICON---
UIManager uim=new UIManager();

Object error=LookAndFeel.makeIcon(getClass(),"ERROR.gif");
Object information=LookAndFeel.makeIcon(getClass(),"INFORMATION.gif");
Object question=LookAndFeel.makeIcon(getClass(),"QUESTION.gif");
Object warning=LookAndFeel.makeIcon(getClass(),"WARNING.gif");

//Set new icon for Error message
uim.put("OptionPane.errorIcon",error);

//Set new icon for Information message
uim.put("OptionPane.informationIcon",information);

//Set new icon for Question message
uim.put("OptionPane.questionIcon",question);

//Set new icon for Warning message
uim.put("OptionPane.warningIcon",warning);
//---END SETTING NEW ICON---

button.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
button4.addActionListener(this);

frame.setLayout(new GridLayout(4,1));
frame.add(button);
frame.add(button2);
frame.add(button3);
frame.add(button4);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,200);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}

public void actionPerformed(ActionEvent event)
{
if(event.getSource()==button)
{
JOptionPane.showMessageDialog(frame,"Error Icon","ERROR",JOptionPane.ERROR_MESSAGE);
}
else if(event.getSource()==button2)
{
JOptionPane.showMessageDialog(frame,"Information Icon","INFORMATION",JOptionPane.INFORMATION_MESSAGE);
}
else if(event.getSource()==button3)
{
JOptionPane.showMessageDialog(frame,"Question Icon","QUESTION",JOptionPane.QUESTION_MESSAGE);
}
else if(event.getSource()==button4)
{
JOptionPane.showMessageDialog(frame,"Warning Icon","WARNING",JOptionPane.WARNING_MESSAGE);
}
}

public static void main(String[]args)
{
ChangeJOptionPaneIcons cjopi=new ChangeJOptionPaneIcons();
}
}
//END


****************************************************************
JUST COMPILE AND EXECUTE IT
****************************************************************