Se connecter / S'enregistrer
Votre question

Probleme java interface graphique

Tags :
  • Swing
  • Programmation
Dernière réponse : dans Programmation
12 Février 2010 14:01:29

Bonjour,


je suis actuellement entrain de faire un jeu en Java, et notamment son interface graphique.
voici le code java

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package test3;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.ParseException;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.text.MaskFormatter;
import sun.font.Font2D;

public class MonInterface extends JFrame implements ActionListener {

//private MonPanneau pan = new MonPanneau();
private JButton bouton = new JButton("Jouer");
private JButton bouton2 = new JButton("Instructions");
private JPanel container = new JPanel();
private JComboBox combo = new JComboBox();
private JLabel label2 = new JLabel("Une ComboBox");
private JLabel label = new JLabel("Le jeu du 3 pour 10");
private JFormattedTextField jtf;
private JFormattedTextField jtf2;
private JFormattedTextField jtf3;
private JFormattedTextField jtf4;
private JFormattedTextField jtf5;
private JFormattedTextField jtf6;

public MonInterface() {

this.setTitle("Jeu");
this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);

container.setBackground(Color.white);
container.setLayout(new BorderLayout());
//container.add(pan, BorderLayout.CENTER);
//On ajoute notre interface à la liste des auditeurs des Boutons
bouton.addActionListener(this);
bouton2.addActionListener(this);

JPanel south = new JPanel();
south.add(bouton);
south.add(bouton2);
container.add(south, BorderLayout.SOUTH);
// Choix de la police
Font police = new Font("Tahoma", Font.BOLD, 16);
// on les applique au JLabel
label.setFont(police);
//couleur de la police
label.setForeground(Color.red);
//Allignement du texte
label.setHorizontalAlignment(JLabel.CENTER);

container.add(label, BorderLayout.NORTH);
this.setContentPane(container);
this.setVisible(true);


}

/**
* methode qui sera appelée lors d'un clic sur les boutons
* @param arg0
*/
public void actionPerformed(ActionEvent arg0) {

// lorsqu'on clique sur jouer on voit une grille
if (arg0.getSource() == bouton) {
GridLayout gl = new GridLayout();
gl.setColumns(3);
gl.setRows(3);
JPanel jPan = new JPanel(gl);
jPan.setSize(300, 300);

//empecher d'ecrire autre chose qu'un chiffre dans le damier
try {
MaskFormatter c1 = new MaskFormatter("#");
MaskFormatter c2 = new MaskFormatter("#");
MaskFormatter c3 = new MaskFormatter("#");
MaskFormatter c4 = new MaskFormatter("#");
MaskFormatter c5 = new MaskFormatter("#");
MaskFormatter c6 = new MaskFormatter("#");
jtf = new JFormattedTextField(c1);
jtf2 = new JFormattedTextField(c2);
jtf3 = new JFormattedTextField(c3);
jtf4 = new JFormattedTextField(c4);
jtf5 = new JFormattedTextField(c5);
jtf6 = new JFormattedTextField(c6);
} catch (ParseException e) {
e.printStackTrace();
}
Font police = new Font("Arial", Font.BOLD, 14);
jtf.setFont(police);
jtf.setPreferredSize(new Dimension(150, 30));
jtf.setForeground(Color.BLUE);

jtf2.setPreferredSize(new Dimension(150, 30));
jPan.add(label);
jPan.add(jtf);
jPan.add(jtf2);
jPan.add(jtf3);
jPan.add(jtf4);
jPan.add(jtf5);
jPan.add(jtf6);

this.add(jPan);


//jPan.add(new JFormattedTextField(""));
//jPan.add(new JFormattedTextField(""));
//jPan.add(new JFormattedTextField(""));
//jPan.add(new JFormattedTextField(""));
//jPan.add(new JFormattedTextField(""));
//jPan.add(new JFormattedTextField(""));


container.add(jPan, BorderLayout.CENTER);
this.setContentPane(container);


this.setVisible(true);

// creation d'une liste déroulante dans laquelle on choisira la taille de la grille
combo.setPreferredSize(new Dimension(100, 20));
combo.addItem("3x3");
combo.addItem("4x4");
combo.addItem("5x5");
combo.addItem("6x6");

// creation d'un nouveau JPanel pour la partie haute de la fenetre
JPanel top = new JPanel();
top.add(label);
top.add(combo);

container.add(top, BorderLayout.NORTH);
this.setContentPane(container);
this.setVisible(true);

}

if (arg0.getSource() == bouton2) {
JPanel jPan2 = new JPanel();
this.add(jPan2);
label.setText("Les régles du jeu : ");

this.setVisible(true);

}
}
}



j'aimerais pouvoir dire à mon interface de m'afficher une grille de 3 sur 3 quand je clique sur 3x3 dans la liste deroulante, et ainsi de suite pour 4 sur 4 ...
si quelqu'un pourrait me donner une piste ce serait super !!

Par avance merci à vous :) 

aurelie

Autres pages sur : probleme java interface graphique

a b L Programmation
12 Février 2010 19:51:47

Avec les tag code le code serait mieux lisible. :) 
m
0
l
20 Février 2010 06:54:10

ImageButton[] bouton = new ImageButton[10];


int compteur;

for (compteur = 0; compteur <=9; compteur++) {
System.out.println("compteur " + compteur);

//String chaine = Integer.toString(monInt);

bouton [compteur] = new ImageButton(Integer.toString(compteur));
bouton [compteur].setText (Integer.toString(compteur));
}


tableau , paramètre , boucle
inspire toi de cela ...

boucard33 at hotmail dot com
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS