Java JTextArea和JButton不会添加到JPanel中

Java JTextArea和JButton不会添加到JPanel中,java,swing,user-interface,Java,Swing,User Interface,当我运行Java程序时,我的文本区域和按钮不会添加到要显示的面板中。当我运行程序时,我看到的只是没有任何文本区域和按钮的面板。如何显示文本区域和按钮 NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.US); JFrame frame = new JFrame("Bookstore"); frame.setSize(500, 300); frame.setDefaultCloseOperation

当我运行Java程序时,我的文本区域和按钮不会添加到要显示的面板中。当我运行程序时,我看到的只是没有任何文本区域和按钮的面板。如何显示文本区域和按钮

    NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.US);

    JFrame frame = new JFrame("Bookstore");
    frame.setSize(500, 300);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JPanel panel = new JPanel();
    panel.setLayout(new GridBagLayout());
    frame.setVisible(true);

    JTextArea textArea = new JTextArea();
    textArea.append("\n" + bk[0]);
    panel.add(textArea);

    JButton btnFirst = new JButton("First");
    GridBagConstraints g = new GridBagConstraints();
    g.insets = new Insets(5, 5, 5, 5);
    g.gridx = 0;
    g.gridy = 2;
    panel.add(btnFirst, g);

    JButton btnLast = new JButton("Last");
    g.gridx = 1;
    g.gridy = 2;
    panel.add(btnLast, g);

    JButton btnNext = new JButton("Next");
    g.gridx = 3;
    g.gridy = 2;
    panel.add(btnNext, g);

    JButton btnPrevious = new JButton("Previous");
    g.gridx = 0;
    g.gridy = 3;
    panel.add(btnPrevious, g);

    JTextArea totalInventory = new JTextArea("Total Inventory\t\t\t");
    totalInventory.append(nf.format(total));
    g.gridx = 0;
    g.gridy = 6;
    panel.add(totalInventory, g);
有两件事

  • 构建主界面后,最后调用
    setVisible
    last
  • panel
    添加到框架,
    frame.Add(panel)

  • 考虑提供A,这将涉及更少的猜测工作并产生更好的响应,但是这里没有猜测。MadProgrammer的回答明确了这里两个非常明显的问题。天哪,我不敢相信我忘记添加面板了(@user13596510欢迎来到我的世界“为什么f**k不起作用”:P