【问题标题】:how to display information in panel after a button is clicked?单击按钮后如何在面板中显示信息?
【发布时间】:2016-05-25 18:51:06
【问题描述】:

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

我想用这样的 JTextArea 在新的惩罚中打印出订单摘要(只是不是错误):

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

这是与显示相关的代码:

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

错误显示:

【问题讨论】:

  • 您还可以考虑使用更多“向导”风格的方法,即一次只向用户呈现一个视图(带有上一个/下一个导航),例如 this 或 @ 987654328@例子
  • 嗨@MadProgrammer,我如何让这个JPanel 可见。 OrderSummery = new JPanel(); JTextArea order = new JTextArea(); order.setText(orderSummary); OrderSummery.add(order);
  • 您将其添加到窗口中包含的内容中

标签: java swing jpanel


【解决方案1】:

我不能 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 创建一个单独的类,并在底部添加一个带有“确定”按钮的面板,以及您想要的任何其他自定义项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    • 2021-03-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-15
    相关资源
    最近更新 更多