Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class BoiteDialogue extends JDialog implements ActionListener {
 
	JPanel jpGlobal, jpOuest, jpEst, jpSud;
	JLabel jlHorizontal, jlVertical, jlNbMines;
	JRadioButton jrbFacile, jrbMoyen, jrbDifficile, jrbPerso;
	JTextField jtfValHorizon, jtfValVertical, jtfValNbMines;
	ButtonGroup bgDifficulte;
	JButton jbOk, jbAnnuler;
 
	AuditeurBoutonRadio AuditRadio;
	AuditeurHorizontal AuditHorizon;
	AuditeurVertical AuditVertical;
	AuditeurMines AuditMines;
 
	private int tailleH, tailleV, nbMines;
 
	public BoiteDialogue(){
 
		setTitle("Configuration du jeu");
 
		AuditRadio = new AuditeurBoutonRadio();
		AuditHorizon = new AuditeurHorizontal();
		AuditVertical = new AuditeurVertical();
		AuditMines = new AuditeurMines();
 
		jpGlobal = new JPanel();
		jpOuest = new JPanel();
		jpOuest.setBorder(BorderFactory.createTitledBorder("Taille de la grille"));
		jpEst = new JPanel();
		jpEst.setBorder(BorderFactory.createTitledBorder("Configuration personnalisée"));
		jpSud = new JPanel();
 
		jlHorizontal = new JLabel("Horizontal : ");
		jlVertical = new JLabel("Vertival : ");
		jlNbMines = new JLabel("Nb. de mines : ");
		jtfValHorizon = new JTextField();
 
		jtfValHorizon.setColumns(8);
		jtfValVertical = new JTextField();
 
		jtfValVertical.setColumns(8);
		jtfValNbMines = new JTextField();
 
		jtfValNbMines.setColumns(8);
 
		jbOk = new JButton("Ok",new ImageIcon("img/OK.png"));
		jbOk.addActionListener(this);
		jbAnnuler = new JButton("Annuler",new ImageIcon("img/Cancel.png"));
		jbAnnuler.addActionListener(this);
 
		jpEst.setLayout(new GridBagLayout());
		GridBagConstraints gb = new  GridBagConstraints();
		gb.gridx = 0;
		gb.gridy = 0;
		gb.anchor = GridBagConstraints.WEST;
		jpEst.add(jlHorizontal,gb);
		gb.gridx = 1;
		gb.gridy = 0;
		jpEst.add(jtfValHorizon,gb);
		gb.gridx = 0;
		gb.gridy = 1;
		jpEst.add(jlVertical,gb);
		gb.gridx = 1;
		gb.gridy = 1;
		jpEst.add(jtfValVertical,gb);
		gb.gridx = 0;
		gb.gridy = 2;
		jpEst.add(jlNbMines,gb);
		gb.gridx = 1;
		gb.gridy = 2;
		jpEst.add(jtfValNbMines,gb);
 
		jpSud.setLayout(new BorderLayout());		
		jpSud.add(jbOk, BorderLayout.WEST);
		jpSud.add(jbAnnuler, BorderLayout.EAST );
 
		jpGlobal.setLayout(new BorderLayout());		
 
		jpGlobal.add(jpOuest,BorderLayout.CENTER);
		jpGlobal.add(jpEst,BorderLayout.EAST);
		jpGlobal.add(jpSud,BorderLayout.SOUTH);
 
		jtfValHorizon.addKeyListener(AuditHorizon);
 
		this.setContentPane(jpGlobal);
		this.pack();
		this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		this.setVisible(true);
 
	}
	//classe interne 1er champ
	private class AuditeurHorizontal extends KeyAdapter implements KeyListener{
		public void keyPressed(KeyEvent e) {
			if( e.getSource() == jtfValHorizon){
				System.out.println("chp1");
				String Texte = jtfValHorizon.getText();
				tailleH = Integer.parseInt(Texte);
			}
		}
	}
public static void main(String[] args) {
		new BoiteDialogue();
 
	}
}
Voici le code de ma class. Lorsque je rentre un nombre ou une lettre dans mon champ de texte qui renvoie sur la classe interne gérant l'événement cela fait une execption que j'aimerai pouvoir comprendre afin de la gérer. Merci