4

如何使用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);
    } 
}
4

4 回答 4

6

如果您想将每个值放在一个新行中,您不需要将 aJLabel与 HTML 或 a 一起使用JTextArea,您可以简单地\n在 中使用String

JOptionPane.showMessageDialog(null, "line1\nline2");

当然,您可以通过添加它们来简单地连接您的值String

a1 + "\n" + a2
于 2012-04-22T04:28:27.720 回答
5

解决这个问题的一些方法:

  • 创建一个 JLabel 来保存您的输出并使用 HTML 来允许显示多行 JLabel,然后将 JLabel 作为 JOptionPane.showMessageDialog 的第二个参数传递。
  • 或者您可以创建一个 JTextArea,将结果 Strings + "\n" 附加到 JTextArea,然后将其传递给 JOptionPane.showMessageDialog 方法。如果您这样做,请通过调用它来防止其他人编辑您的 JTextArea setEditable(false)
于 2012-04-22T03:59:56.383 回答
4

为什么你不能把所有这些都放在一个字符串中并只使用一个 JOptionPane。

 int c=a1+b1;
 String s = "a1: "+a1+" b1: "+b1+"c: "+c;
 JOptionPane.showMessageDialog(null,s);

而不是 3 JOptionPane。

于 2012-04-22T04:05:20.763 回答
1

为什么不试试这个:

JOptionPane.showMessageDialog(null,  a1 + "\n" + b1 + "\n" + c1);

这将在对话框中的三个不同行中打印所有内容。

于 2013-06-21T23:20:18.430 回答