Я хотел создать программу, которая генерирует случайное число, и я должен найти загадочное число. Это прекрасно работает. Затем я хотел сделать это в окне для изучения 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();
}
}
Наконец, я хотел бы создать второй класс только для части графического интерфейса и иметь возможность вызывать его из основного метода.