Saltar al contenido

JOptionPane: cambiar el icono

Deseamos brindarte la mejor respuesta que hemos encontrado en internet. Nosotros queremos que te resulte de ayuda y si puedes comentarnos algún detalle que nos pueda ayudar a mejorar hazlo con total libertad.

Solución:

Use la versión del método que toma un parámetro de icono y páselo null para el icono.

por ejemplo, funciona como esperaba

import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;


public class OptionPaneOptions 

    private JPanel options;
    private Object[] items;

    public OptionPaneOptions() 
        options = new JPanel(new GridLayout(0, 3));
        options.add(createOptionPane("Plain Message", JOptionPane.PLAIN_MESSAGE));
        options.add(createOptionPane("Error Message", JOptionPane.ERROR_MESSAGE));
        options.add(createOptionPane("Information Message", JOptionPane.INFORMATION_MESSAGE));
        options.add(createOptionPane("Warning Message", JOptionPane.WARNING_MESSAGE));
        options.add(createOptionPane("Want to do something?", JOptionPane.QUESTION_MESSAGE));
        items = new Object[]"First", "Second", "Third";
        JComboBox choiceCombo = new JComboBox(items);
        options.add(titled(new JOptionPane(choiceCombo,
                JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION), "Question Message"));
        JFrame frame = new JFrame("JOptionPane'Options");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(options, BorderLayout.CENTER);
        frame.pack();
        frame.setVisible(true);
    

    static JOptionPane createOptionPane(String message, int type) 
        JOptionPane pane = new JOptionPane(message, type);
        String title = message;
        if (type == JOptionPane.QUESTION_MESSAGE) 
            title = "Question Message";
            pane.setOptionType(JOptionPane.YES_NO_CANCEL_OPTION);
        
        return titled(pane, title);
    

     static  T titled(T c, String title) 
        c.setBorder(BorderFactory.createTitledBorder(title));
        return c;
    

    public static void main(String[] args) 
        OptionPaneOptions test = new OptionPaneOptions();
    

este es el formato del que hablaba @Jesse Barnum

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

usted suministra int messageType con las constantes messageType que también determina el icono

ejemplo: este genera un icono de Pregunta, usando JOptionPane.QUESTION_MESSAGE

JOptionPane.showMessageDialog(null,"Are you OK?","HI",JOptionPane.QUESTION_MESSAGE,null);

éste genera un icono de información

JOptionPane.showMessageDialog(null,"You are reading something","FYI",JOptionPane.INFORMATION_MESSAGE,null);

Reseñas y calificaciones de la guía

Si tienes alguna desconfianza y disposición de regenerar nuestro ensayo eres capaz de realizar una reseña y con deseo lo leeremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *