Adicionar imagem ao JOptionPane

Eu estou querendo saber como adicionar a imagem à checkbox de diálogo da mensagem. Eu tentei o código abaixo e a imagem estava longe de ser encontrada

else if(button == B){ String text = "blahblahblahblahblah"; JTextArea textArea = new JTextArea(text); textArea.setColumns(30); textArea.setLineWrap( true ); textArea.setWrapStyleWord( true ); textArea.setSize(textArea.getPreferredSize().width, 1); Font font = new Font("Verdana", Font.BOLD, 12); textArea.setFont(font); textArea.setForeground(Color.BLUE); JOptionPane.showMessageDialog( null, textArea, "Border States", JOptionPane.PLAIN_MESSAGE); image2 = new ImageIcon(getClass().getResource("borderstates.jpg")); label2 = new JLabel(image2); add(label2); 

JOptionPane é uma API muito flexível.

Seu primeiro porto de escala deve ser o Java API Docs e o Java Trails , como usar checkboxs de diálogo específicas

insira a descrição da imagem aquiinsira a descrição da imagem aqui

 public class TestOptionPane04 { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { @Override public void run() { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) { } ImageIcon icon = new ImageIcon(TestOptionPane04.class.getResource("/earth.png")); JOptionPane.showMessageDialog( null, "Hello world", "Hello", JOptionPane.INFORMATION_MESSAGE, icon); JOptionPane.showMessageDialog( null, new JLabel("Hello world", icon, JLabel.LEFT), "Hello", JOptionPane.INFORMATION_MESSAGE); } }); } } 

Do javadoc no JOptionPane:

 public static void showMessageDialog(Component parentComponent, Object message, String title, int messageType, Icon icon) throws HeadlessException 

Basta criar um Icon da sua imagem e adicioná-lo como um quinto parâmetro.

 JOptionPane.showMessageDialog(null, textArea, "Border States", JOptionPane.PLAIN_MESSAGE, image2); 

Não se esqueça de definir image2 antes de usá-lo (mova a linha para cima)

O que é um MessageDialogBox? Se você quer dizer adicionar uma imagem a um JOptionPane, existem sobrecargas de método que aceitam um Icon, e assim esta é uma maneira de resolver isso. Outra é criar um JPanel ou JLabel com sua imagem e outros componentes e, em seguida, exibir isso no JOptionPane.