Java
flo2704
-
flo2704 -
flo2704 -
Bonsoir à tous, je suis occupé de programmer un Master Mind en Java mais je reste bloqué sur quelques points. J'ai déjà réalisé toute l'interface graphique etc. Mais je n'arrive pas à générer la combinaison choisie par l'ordinateur et la vérification de la combinaison entrée par l'utilisateur par rapport à celle choisie par l'ordinateur. Tout coup de pouce et conseil est bienvenu. Merci d'avance.
2 réponses
-
Il va falloir être un peu plus concret dans tes attentes, parce que tu as pu commencer de 1000 manières différentes !
-
Il ne faut pas ajouter plusieurs fois le même objet, getContentPane().add(jp) et this.add(jp), c'est pareil, du coup ça pose problème. De même, tu as deux frame : this, et jf... ça fait un peu désordre. Enfin le pack va rentrer en conflit avec les setSize, qui eux même vont rentrer en conflit avec les layout, donc il ne faut pas trop en faire...
public class Appli extends JFrame { private final Dessin d; private final JButton jb1; public Appli() { super("MasterMind"); setSize(600,300); d = new Dessin(4,6); add(d,BorderLayout.NORTH); jb1 = new JButton("Check"); add(jb1,BorderLayout.SOUTH); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public static void main(String[] args) { new Appli(); } }-
Ha oui merci mais quand j'agrandis ma fenêtre il y a un emplacement blanc ...
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Appli extends JFrame
{
private Dessin d;// JPanel
private JFrame jf;// JFrame
public Appli()
{
d = new Dessin(4,6);
setPreferredSize(new Dimension(600,300));
jf = new JFrame ("MasterMind");
JPanel jp = new JPanel();
d.setLayout(new BorderLayout());
d.add(new Button ("Check"),BorderLayout.SOUTH);
jf.setContentPane(d);
jf.setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.pack();
}
public static void main(String[] arg)
{
new Appli();
}
}
Donc si je vais comme ça c'est correct non ? Vu qu'il n'y a plus d'emplacement blanc en dessous ? :) -
Tu as toujours tes deux JFrame ici, la première qui est ta classe extends JFrame, et la deuxième jf que tu déclares à l'intérieur du code, as-tu vraiment besoin des deux ?
Tu peux tester : new Appli().setVisible(true); pour bien voir que tu n'en as pas qu'une de créée...
Après si visuellement ça donne ce que tu veux tant mieux, moi perso, je n'ai pas la classe Dessin, mon test ne donne donc pas grand chose...
Remarque : jp ne sert à rien ! -
-
-
-