在运行时生成许多包含JList和JButton的JPanel

时间:2017-03-22 04:01:36

标签: java swing jpanel

我制作了一个应用程序,到目前为止已向系统发出食物订单。下订单后,订单详情(比萨饼,饮料等)应出现在厨师的屏幕上。该屏幕将包含1个JFrame,其中包含许多JPanel(每个JPanel包含一个JList和一个JButton)。出现在厨师屏幕上的JPanel数量必须等于此刻待处理的订单数量。

我不知道如何在每次下订单时通过创建新的Jpanel来在Chef的屏幕上显示订单。

有没有办法做到这一点?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

假设当时的订单数量为num,您可以执行以下操作:

    frame = new JFrame();
    frame.setBackground(Color.white);
    frame.setBounds(20, 20, 800, 800);
    frame.setLayout(null);
    panels = new JPanel[num];
    for(int i = 0; i < num; i++) {
        panels[i] = new JPanel();
        panels[i].setLayout(null);
        panels[i].setBackground(Color.cyan);
        panels[i].setBounds(100*i + 10*i, 0, 100, 100); // this is just an example; you can change these numbers
        frame.add(panels[i]);
    }
    frame.setVisible(true);

然后将所有订单详细信息添加到JTextField并将文本字段添加到相应的面板。希望这有帮助!