Swing не открывает окно, даже когда код работает на терминале - PullRequest
0 голосов
/ 27 июня 2019

Я хотел создать программу, которая генерирует случайное число, и я должен найти загадочное число. Это прекрасно работает. Затем я хотел сделать это в окне для изучения GUI & Swing, а не в терминале, поэтому я использовал немного кода Swing. Но вот в чем проблема, код все еще отлично работает в терминале, но он не открывает окно, как я хочу.

Сначала IO попытался создать второй класс для части с графическим интерфейсом, но это не сработало, поэтому я сгруппировал все в основном методе. Он работает в терминале, но не открывает окно.

Любая помощь или советы, пожалуйста?

/**
 * 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();
    }
}

Наконец, я хотел бы создать второй класс только для части графического интерфейса и иметь возможность вызывать его из основного метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...