即使代码在终端上运行正常,Swing也不会打开窗口

时间:2019-06-27 01:50:12

标签: java swing user-interface window

我想创建一个生成随机数的程序,我必须找到神秘数。效果很好。接下来,我想在一个窗口中(而不是在终端中)学习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 个答案:

没有答案