无法将JTextField添加到JFrame

Sam*_*Sam 8 java swing jframe jtextfield layout-manager

我无法添加JTextFieldJFrame.我的JFrame包含a JLabel和a JTextField.首先,我添加了JLabel,它正在工作.这是代码.

private static void createandshowGUI()
     {

    JFrame frame =new JFrame("HelloSwing");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().setBackground(Color.red);
    frame.setSize(200,200);

    JLabel label=new JLabel("New To Java!!");
    frame.getContentPane().add(label);
    frame.setVisible(true);
}
public static void main(String[] args) {
    createandshowGUI();}   //and it shows the output like below .
Run Code Online (Sandbox Code Playgroud)

框架有JLabel

然后我添加了JTextField.

    JLabel label=new JLabel("New To Java!!");
    frame.getContentPane().add(label);

   JTextField jtf=new JTextField();
   frame.getContentPane().add(jtf);

    frame.setVisible(true);
Run Code Online (Sandbox Code Playgroud)

但后来它显示了这样的输出.

具有JLabel和JTextField的框架

请有人帮我解决这个问题.我可以向JFrame添加多个组件吗?因为我是Java的新手,我在框架,ContentPane和Layouts之间存在混淆.

Dan*_*ski 8

实际上你成功地添加了JTextField.您遇到的问题源于布局管理器,它在整个框架中展开它.

内容窗格默认JFrame使用BorderLayout管理器.(请参见如何使用BorderLayout)

在我的应用程序中,总是最终使用MigLayout管理器,但首先您可能希望熟悉布局管理器.(请参阅布局管理器的可视指南)