java - 使用 JFrame 的程序无法启动

标签 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);
    }
}

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

最佳答案

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

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

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

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

关于java - 使用 JFrame 的程序无法启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50916348/

相关文章:

java - 当我尝试从 Outlook Web 访问发送邮件时出现 java 运行时异常

java - 如何保存在 JTable 中输入的数据,以便在我们退出应用程序后它仍然存在?

java - JTabbedPane 及其选项卡透明度不起作用

java - 最大化 JFrame on action?

java外观和感觉: windows server 2012 shows progress bar too thin

java - 每 7 天更改一次下载链接?

java - Eclipse插件热部署

Java/PHP - 聊天 session 在窗口刷新或在应用程序中打开新窗口时刷新

java - 如何从 SeaGlass L&F 中的 JTextArea 中删除行分隔符?