Java 使JOptionPane打印多组数据

Java 使JOptionPane打印多组数据,java,Java,有人能告诉我如何在一个对话框中打印所有三行客户数据,如下面的屏幕截图所示吗?现在它一次只打印一行 String custNum = JOptionPane.showInputDialog("Enter cust numb:"); while (!custNum.equalsIgnoreCase("quit")) { String custName = JOptionPane.showInputDialog("Enter cust name:");

有人能告诉我如何在一个对话框中打印所有三行客户数据,如下面的屏幕截图所示吗?现在它一次只打印一行

String custNum = JOptionPane.showInputDialog("Enter cust numb:");
      while (!custNum.equalsIgnoreCase("quit")) {
         String custName = JOptionPane.showInputDialog("Enter cust name:");
         do {
            try {
               kilowattUsed = Double.parseDouble(JOptionPane.showInputDialog("Enter kilowatt(s) used:"));
            }
            catch (NumberFormatException e) {
               kilowattUsed = minKilowatt - 1;
            }
            if (kilowattUsed < minKilowatt || kilowattUsed >= maxKilowatt) {
               JOptionPane.showMessageDialog(null,"Please enter a valid number");
            }
         } while (kilowattUsed <= minKilowatt || kilowattUsed >= maxKilowatt);


         if (kilowattUsed < lowRateKilowattMin) {
            amtOwed = kilowattUsed * highRate;
         }
         else {
            amtOwed = kilowattUsed * lowRate;
         }

         totalOwed += amtOwed;
         numCustomers++;
         JOptionPane.showMessageDialog(null,custNum + " | " + custName + " | " 
            + String.format("%.1f",kilowattUsed) + " | " + "$" + String.format("%.2f",amtOwed));

         custNum = JOptionPane.showInputDialog("Enter cust number:");
      }

String custNum=JOptionPane.showInputDialog(“输入cust numb:”);
而(!custNum.equalsIgnoreCase(“退出”)){
字符串custName=JOptionPane.showInputDialog(“输入客户名称:”);
做{
试一试{
千瓦使用=Double.parseDouble(JOptionPane.showInputDialog(“输入千瓦使用:”);
}
捕获(数字格式){
使用的千瓦=最小千瓦-1;
}
如果(使用的千瓦<最小千瓦|使用的千瓦>=最大千瓦){
showMessageDialog(null,“请输入有效数字”);
}
}而(使用的千瓦数=最大千瓦数);
如果(所用功率<低速率千瓦分钟){
Amtowerd=使用的千瓦数*高速率;
}
否则{
Amtowerd=使用的千瓦数*低速率;
}
总欠额+=被牵引;
numCustomers++;
JOptionPane.showMessageDialog(null,custNum+“|”+custName+“|”
+String.format(“%.1f”,已使用)+“|”+“$”+String.format(“%.2f”,自动拖曳));
custNum=JOptionPane.showInputDialog(“输入客户编号:”);
}

您在java中用于新行的字符是新行字符
\n
因此,如果您在行间的最后一个字符串中添加该字符,则它们将出现在以下几行:

下面是一个简单的示例来演示:

JOptionPane.showMessageDialog(null, "line1 \nline2 \nline3");
其输出将为:


我希望这会有所帮助:)

需要注意的一个关键理解是,JOptionPane显示方法的第二个参数可以是任何Swing组件,包括JTable,它是显示表格数据的最佳组件。所以我建议你,

  • 使用数据填充DefaultTableModel
  • 使用该模型创建JTable
  • 将JTable放在JScrollPane中
  • 将该JScrollPane作为
    JOptionPane.showMessageDialog(…)的第二个参数传递。