使用JFrame的程序不会启动

时间:2018-06-18 19:33:55

标签: java swing jframe jtextfield

我正在尝试编写一个程序,在那里你将一些数字放在一个JTextField中然后它用它做了一些事情。我试图找出如何使输入成为可能。但是,尽管Eclipse没有显示任何错误,但我尝试它的方式并不起作用。是的,我知道没有办法阻止这个程序,但这只是一个测试。

import javax.swing.*;

    public class NotenEingabe  extends JFrame {     

    public static void main(String[]args) {
        JFrame frame = new JFrame();

        JPanel panel = new JPanel();

        JLabel label = new JLabel("text");

        JTextField field = new JTextField("text");

        panel.add(label);
        panel.add(field);

        frame.setTitle("Grade input");
        frame.pack();
        frame.add(panel);
        frame.setVisible(true);
    }
}

我希望这是一个真正的问题而不仅仅是我的疲惫。

2 个答案:

答案 0 :(得分:4)

    frame.setVisible(true);
    frame.add(panel);

在框架可见之前,应将组件添加到框架中。

不调用布局管理器,因此组件的大小为(0,0),这意味着无需绘制任何内容。

frame.setTitle("Grade input");
frame.add(panel);
//frame.setSize(700, 700);
frame.pack();
frame.setVisible(true);

答案 1 :(得分:-2)

首先,当您从jframe扩展类时,您不需要实例化新的jFrame,只需创建类的新实例,然后使用它访问jframe,或者只删除扩展Jframe并使用函数方法。

您没有设置窗格的布局 测试这个,然后你可以选择各种布局

panel.setLayout(newFlowLayout());