首页 > 解决方案 > 使用 JFrame 的最简单程序不起作用

问题描述

我正在尝试了解如何在我的应用程序中放置一些图形,但我遇到了一些问题。我刚刚创建了一个 JFrame,设置了大小,将可见性设置为 true,但它什么也没显示。这是我的代码。

package app;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
import java.util.concurrent.TimeUnit;

import javax.imageio.ImageIO;
import javax.swing.JFrame;

public class mainClass{

    public static void main(String[] args) {

        JFrame jimage = new JFrame();
        jimage.setSize(600, 400);
        jimage.setTitle("Prova JFrame");
        jimage.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jimage.setVisible(true);

    }

}

请帮忙 :/

标签: javaswingjframe

解决方案


我做了一些改变。此代码在我的 Windows 10、Java 13 JDK、Java 8 编译级别上运行良好。

调用 JFrame 方法的顺序至关重要。这是我一直使用的顺序。

保存此代码。这就是您启动 Swing GUI 的方式。

import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class SimpleJFrame implements Runnable {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new SimpleJFrame());
    }

    @Override
    public void run() {
        JFrame jimage = new JFrame();
        jimage.setTitle("Prova JFrame");
        jimage.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        jimage.setSize(600, 400);
        jimage.setLocationByPlatform(true);
        jimage.setVisible(true);
    }

}

推荐阅读