ajout d'un filtrage sur le text pouvant être insérer

This commit is contained in:
Yann KERAUDREN 2024-04-28 13:16:31 +02:00
parent e65b88de00
commit a29890461d
8 changed files with 54 additions and 1 deletions

BIN
Main.class Normal file

Binary file not shown.

@ -10,9 +10,12 @@ J = java
Main.class : Main.java SudokuGrid.class
${JC} ${JCFLAGS} Main.java
SudokuGrid.class : SudokuGrid.java
SudokuGrid.class : SudokuGrid.java TextFilter.class
${JC} ${JCFLAGS} SudokuGrid.java
TextFilter.class : TextFilter.java
${JC} ${JCFLAGS} TextFilter.java
### REGLES OPTIONNELLES ###

BIN
SudokuGrid$1.class Normal file

Binary file not shown.

BIN
SudokuGrid.class Normal file

Binary file not shown.

@ -18,6 +18,10 @@ public class SudokuGrid extends JFrame {
for (int i = 0; i < GRID_SIZE; i++) {
for (int j = 0; j < GRID_SIZE; j++) {
grid[i][j] = new JTextField();
TextFilter filtre = new TextFilter(grid[i][j]);
grid[i][j].addKeyListener(filtre);
grid[i][j].setHorizontalAlignment(JTextField.CENTER);
gridPanel.add(grid[i][j]);
}

BIN
TextFilter.class Normal file

Binary file not shown.

32
TextFilter.java Normal file

@ -0,0 +1,32 @@
import java.awt.event.*;
import javax.swing.*;
public class TextFilter extends KeyAdapter {
private JTextField Text;
public TextFilter (JTextField t) {
this.Text = t;
}
@Override
public void keyTyped(KeyEvent e) {
char chaine = e.getKeyChar();
int taille = Text.getText().length();
if ( ((chaine < '0') || (chaine > '9')) && (chaine != KeyEvent.VK_BACK_SPACE)) {
e.consume(); // ignorer l'événement
}
if ( taille >= 1 ) {
e.consume();
}
}
}

14
TextFilter.java~ Normal file

@ -0,0 +1,14 @@
import java.awt.event.KeyListener;
public class TextFilter implements KeyListener {
@Override
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if ( ((c < '0') || (c > '9')) && (c != KeyEvent.VK_BACK_SPACE)) {
e.consume(); // ignorer l'événement
}
}
}