有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Swing不会打开窗口,即使代码在终端上运行良好

我想创建一个程序,生成一个随机数,我必须找到这个神秘数。效果很好。接下来,我想在一个窗口中学习GUI&;Swing,不是在终端中,所以我使用了一些Swing代码。 但问题是,代码在终端中仍然可以正常工作,但它不能像我想要的那样打开窗口

首先,IO尝试为GUI部分创建第二个类,但没有成功,所以我将所有内容都分组到main方法中。它在终端工作,但不打开窗口

有什么帮助或提示吗

/**
 * Auteur Andres "VongoSanDi" Boulanger
 */

import java.util.Scanner;
import javax.swing.*;
import java.awt.*;
import javax.swing.JPanel;
import javax.swing.BorderFactory;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JTextField;

public class ChiffreMystere {

    public static void main(String[] args) {


        Scanner sc = new Scanner(System.in);
        int numeroMin = 0, numeroMax = 0, entreeUtilisateur = 0;
        char rejouer = 'O';

        System.out.println("Bienvenue au jeu du chiffre mystère\n");

        do {

            System.out.println("Veuillez choisir un minimum et un maximum pour le jeu.");
            System.out.print("Minimum : ");
            numeroMin = sc.nextInt();
            System.out.print("Maximum : ");
            numeroMax = sc.nextInt();

            int chiffreMystere = (int)(Math.random() * ((numeroMax - numeroMin) + 1)) + numeroMin;

            System.out.print("\nSelon vous, quel est le chiffre mystère : ");

            while(entreeUtilisateur != chiffreMystere) {
                entreeUtilisateur = sc.nextInt();

                if (entreeUtilisateur != chiffreMystere) {
                    System.out.println("\nCe n'est pas le bon chiffre.");
                    System.out.print("Quel est le chiffre mystère ? : ");
                }

            }

            System.out.println("\nBravo, vous avez trouvé le chiffre mystère, qui était le : "+chiffreMystere);

            System.out.print("Voulez-vous rejouer ? (O/N) : ");
            rejouer = sc.next().charAt(0);

        } while(rejouer == 'O');

        JFrame frame = new JFrame("Chiffre mystère");
        frame.setVisible(true);
        frame.setSize(100,200);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


        sc.close();
    }
}

最后,我想只为GUI部分创建第二个类,并能够从main方法调用它


共 (0) 个答案