¿Cómo puedo mostrar toda esta información en un solo cuadro de diálogo? Cada vez que ejecute el archivo de los diferentes cuadros de diálogo que aparece, realmente necesito que aparezcan en un solo cuadro de diálogo con toda la información.

JOptionPane.showMessageDialog(null,"Your Name:"+a1,"Output",JOptionPane.INFORMATION_MESSAGE );
JOptionPane.showMessageDialog(null,"Your age:"+age,"Output",JOptionPane.INFORMATION_MESSAGE );
JOptionPane.showMessageDialog(null,"Your Birth year:"+a3,"Output",JOptionPane.INFORMATION_MESSAGE );
JOptionPane.showMessageDialog(null,"Your Height:"+H,"Output",JOptionPane.INFORMATION_MESSAGE );
JOptionPane.showMessageDialog(null,"Your Weight:"+W,"Output",JOptionPane.INFORMATION_MESSAGE );
JOptionPane.showMessageDialog(null,"Your BMI:"+BMI,"Output",JOptionPane.INFORMATION_MESSAGE );
InformationsquelleAutor Hani Shah | 2013-10-13

4 Comentarios

  1. 7

    Puede utilizar HTML etiquetas:

    JOptionPane.showMessageDialog(null, "<html><br>First line.<br>Second line.</html>");

    O se puede pasar un array de objetos:

    Un array de objetos que se interpreta como una serie de mensajes (uno por
    objeto), dispuestos en una pila vertical

    Como se mencionó en el docs.

  2. 5

    Simplemente crear un JPanel con un diseño adecuado, como el que desea colocar los componentes para ser colocado, y, a continuación, agregue este JPanel a la JOptionPane para mostrar el mensaje.

    Un pequeño ejemplo para ayudarle a entender la lógica cosita :

    import java.awt.*;
    import javax.swing.*;
    
    public class JOptionPaneExample {
        private String name;
        private int age;
        private int birthYear;
    
        public JOptionPaneExample() {
            name = "Myself";
            age = 19;
            birthYear = 1994;
        }
    
        private void displayGUI() {
            JOptionPane.showMessageDialog(
                null, getPanel(), "Output : ",
                    JOptionPane.INFORMATION_MESSAGE);
        }
    
        private JPanel getPanel() {
            JPanel panel = new JPanel(new GridLayout(0, 1, 5, 5));
            JLabel nameLabel = getLabel("Your Name : " + name);
            JLabel ageLabel = getLabel("Your Age : " + age);
            JLabel yearLabel = getLabel("Your Birth Year : " + birthYear);
            panel.add(nameLabel);
            panel.add(ageLabel);
            panel.add(yearLabel);
    
            return panel;
        }
    
        private JLabel getLabel(String title) {
            return new JLabel(title);
        }
    
        public static void main(String[] args) {
            Runnable runnable = new Runnable() {
                @Override
                public void run() {
                    new JOptionPaneExample().displayGUI();
                }
            };
            EventQueue.invokeLater(runnable);
        }
    }

    De SALIDA :

    ¿Cómo mostrar varias líneas en JOptionPane?

  3. 4

    Tener una mirada en el Javadoc para JOptionPane, específicamente la parte del mensaje en la parte superior. Si se pasa un array de Objetos, sus elementos se ponen en una pila vertical en el cuadro de diálogo.

    JOptionPane.showMessageDialog(null,
                                  new Object[]{"line 1","line 2","line 3","line 4"},
                                  JOptionPane.INFORMATION_MESSAGE);
  4. 0

    Acaba de entrar a este lugar de todas esas líneas:

    JOptionPane.showMessageDialog(null,"Your Name: " + a1 +"\n Your age: " + age +"\n Your Birth year: "+ a3 +
        "\n Your Height: " + H +"\n Your Weight: "+ W +"\n Your BMI: "+ BMI); 
    • Bienvenido a Desbordamiento de Pila! Por favor, no responda sólo con el código fuente. Tratamos de proporcionar una buena descripción acerca de cómo su solución funciona. Ver: ¿Cómo puedo escribir una buena respuesta?. Gracias

Dejar respuesta

Please enter your comment!
Please enter your name here