Java JTextField不是';t出现

Java JTextField不是';t出现,java,swing,jframe,jtextfield,Java,Swing,Jframe,Jtextfield,我希望JTextField使用borderlayout显示在面板的中心,但它不显示,按钮显示,但JTextField不显示 import java.awt.*; import javax.swing.*; public class cal { public static void main(String[] args) { JFrame frame= new JFrame(); frame.setVisible(true); frame.

我希望JTextField使用borderlayout显示在面板的中心,但它不显示,按钮显示,但JTextField不显示

import java.awt.*;
import javax.swing.*;
public class cal {

    public static void main(String[] args) {
        JFrame frame= new JFrame();
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 300);
        frame.setLayout(new FlowLayout());
        JPanel panel= new JPanel();
        panel.setLayout(new BorderLayout());
        JTextField answer= new JTextField("0");
        panel.add(answer, BorderLayout.CENTER);
        frame.add(panel);
    }

}
添加组件后,必须在帧上调用setVisible(true)

import java.awt.BorderLayout;
import java.awt.FlowLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class cal {

    public static void main(final String[] args) {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 300);
        frame.getContentPane().setLayout(new FlowLayout());
        JPanel panel = new JPanel();
        panel.setLayout(new BorderLayout());
        JTextField answer = new JTextField("0");
        panel.add(answer, BorderLayout.CENTER);
        frame.getContentPane().add(panel);
        frame.pack();
        frame.setVisible(true);
    }

}

调用
frame.setVisible(true)仅在添加所有组件后。哪些按钮?你这里没有按钮。。。您还应该
pack
frame解释更改内容以及更改原因。比较代码无助于理解更改的原因。虽然此代码片段可以解决问题,但确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。