如何使用单个JOptionPane.showMessageDialog()语句显示多个输出?

Anu*_*ngh 4 java swing joptionpane

如何使用显示多行JOptionPane.showMessageDialog().例如,我在下面发布一个例子.现在,在下面所述的示例中,a1,b1,c1必须使用" JOptionPane.showMessageDialog()是否有任何方式在一个窗口中显示所有值"逐个显示值?因为在下面的例子中,三个窗口将一个接一个地出现.

class demo()
{
    public static void main(String args[])   
    {
          String a=JOptionPane.showInputDialog(null,"Enter a number");
          int a1=Integer.parseInt(a);
          String b=JOptionPane.showInputDialog(null,"Enter a number");
          int b1=Integer.parseInt(b);

          int c=a1+b1;
          JOptionPane.showMessageDialog(null,a1);
          JOptionPane.showMessageDialog(null,b1); 
          JOptionPane.showmessageDialog(null,c1);
    } 
}
Run Code Online (Sandbox Code Playgroud)

sie*_*egi 6

如果你想要把每一个值在新行,你不需要使用JLabel与HTML或者JTextArea,你可以简单地使用\nString:

JOptionPane.showMessageDialog(null, "line1\nline2");
Run Code Online (Sandbox Code Playgroud)

当然,您可以通过添加以下内容来简单地连接您的值String:

a1 + "\n" + a2
Run Code Online (Sandbox Code Playgroud)


Hov*_*els 5

解决此问题的一些方法:

  • 创建一个JLabel来保存输出并使用HTML来显示多行JLabel,然后将JLabel作为JOptionPane.showMessageDialog的第二个参数传递.
  • 或者您可以创建一个JTextArea,将结果字符串+"\n"附加到JTextArea,然后将其传递给JOptionPane.showMessageDialog方法.如果这样做,请阻止其他人通过调用来编辑JTextArea setEditable(false).

  • @ user1334573:关于你的请求,"你可以为它编写代码吗?" 这不是在这里做的事情,也不是你将如何学习.相反,如果您*尝试使用我们的建议为其编写代码,您将学到更多.如果你遇到困难,请告诉我们你的努力. (2认同)