单击按钮后如何在面板中显示信息?

how to display information in panel after a button is clicked?

我正在开发一个接受披萨订单的应用程序。一旦用户单击订单摘要按钮,程序就会显示订单摘要。该应用程序如下所示:

我想在一个带有 JTextArea 的新 penal 中打印出订单摘要(只是不是错误):

但我不知道怎么做。这是我的应用程序现在显示的内容:

这里是与显示相关的代码:

        orderSummary = "Customer Name: " + name +
                       "\nPhone Number: " + phoneNumber +
                       "\nSize: " + size +
                       "\nToppings: " + toppings +
                       "\nTotal: $" + total;
        if(error) 
            JOptionPane.showMessageDialog(null, ErrorString);
        else
            JOptionPane.showMessageDialog(null, orderSummary);

错误显示:

我不是 100% 确定你在问什么,但如果你正在寻找一个弹出对话框(不仅仅是一个面板),那么你可以尝试类似的东西:

    JDialog zMessageDialog = new JDialog((java.awt.Frame) null, true);
    zMessageDialog.setTitle("Order summary");
    zMessageDialog.setLayout(new BorderLayout());
    JTextArea zTextArea = new JTextArea("Blah blah\nblah blah\nblah blah");
    zTextArea.setEditable(false);
    zTextArea.setColumns(40);
    zTextArea.setRows(10);
    zTextArea.setBackground(null);
    JScrollPane zScrollPane = new JScrollPane(zTextArea);
    zMessageDialog.add(zScrollPane, BorderLayout.CENTER);
    zMessageDialog.revalidate();
    zMessageDialog.pack();
    zMessageDialog.setVisible(true);

这只是将 JTextArea 放入 JDialog 中。它使 JTextArea 不可编辑,并将其背景颜色设置为 null(这使其看起来更不可编辑)。

当然,就用户界面而言,这可能不是最佳方式,但那是另一个问题。如果您正在使用像 Netbeans 这样的 IDE,您可以轻松地创建一个基于 JDialog 的单独的 class,并在底部添加一个带有 "OK" 按钮的面板,以及您想要的任何其他自定义项。