使用JTextField使其他一切消失

时间:2016-04-28 14:51:32

标签: java swing jframe

我尝试在Java中使用Swing放置一个文本字段和一个按钮和标签。我成功添加了标签和按钮但是如果我尝试添加文本字段,则孔框架是空白的,所以没有任何显示,不是甚至按钮或标签。 我做错了什么?

import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.*;

public class SwingPartOne extends JFrame {

public static void main(String[] args) {
    new SwingPartOne();
}

public SwingPartOne(){
    this.setSize(800,800);
    this.setLocationRelativeTo(null);
    this.setVisible(true);

    Toolkit tk = Toolkit.getDefaultToolkit();

    Dimension dim = tk.getScreenSize();

    int xPos = (dim.height / 2) - (this.getHeight() / 2);
    int yPos = (dim.width / 2) - (this.getWidth() / 2);

    this.setResizable(false);

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    this.setTitle("First Jframe");


    JPanel thePanel = new JPanel();

    JLabel label1 = new JLabel("Some random text .");

    label1.setText("New text.");

    label1.setToolTipText("Surprize!");

    JButton thebutton1 = new JButton("BOOM!");

    JTextField textField = new JTextField("Some text" , 15);
    textField.setColumns(5);
    textField.setSize(200,200);
    textField.setText("Some random text");

    thePanel.add(label1);
    thePanel.add(textField);
    thePanel.add(thebutton1);
    this.add(thePanel);






}
}

1 个答案:

答案 0 :(得分:1)

我通过LuxxMiner的帮助将this.setVisible(true)放在最后解决了这个问题。

> 在构造函数的末尾调用this.setVisible(true),以便它可以验证。另外,还有其他一些注意事项:1)textField.setSize(200,200);不会做太多,改为覆盖它的getPreferredSize方法(只有你真的需要)。 2)要使框架居中,您也可以简单地调用setLocationRelativeTo(null)。没有必要计算xPos和yPose