From a29890461d5678a9d5aef775404d40abcb7b51f6 Mon Sep 17 00:00:00 2001 From: keraudre <yann.keraudren@etu-upec.fr> Date: Sun, 28 Apr 2024 13:16:31 +0200 Subject: [PATCH] =?UTF-8?q?ajout=20d'un=20filtrage=20sur=20le=20text=20pou?= =?UTF-8?q?vant=20=C3=AAtre=20ins=C3=A9rer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Main.class | Bin 0 -> 480 bytes Makefile | 5 ++++- SudokuGrid$1.class | Bin 0 -> 762 bytes SudokuGrid.class | Bin 0 -> 2701 bytes SudokuGrid.java | 4 ++++ TextFilter.class | Bin 0 -> 677 bytes TextFilter.java | 32 ++++++++++++++++++++++++++++++++ TextFilter.java~ | 14 ++++++++++++++ 8 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 Main.class create mode 100644 SudokuGrid$1.class create mode 100644 SudokuGrid.class create mode 100644 TextFilter.class create mode 100644 TextFilter.java create mode 100644 TextFilter.java~ diff --git a/Main.class b/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..a4a07a8c5c17b8921be8e3f3cf16512a470c3542 GIT binary patch literal 480 zcmX^0Z`VEs1_l!bWiAFT24Qvv5iSNM24N5(3L?bV8N@-f1c;DiXOLoNkY;3Hv&qcM zEU{x`VAjwKV`N})&QD2YWZ?J7%uDqv%}q)z3Q0`LNo8bU$xY16V`LE1i1x`!EKAhS zNz6;v4=yRn%uBZhY2*sdFD*(=b;|@P=JZX>%+mv@<6+=t;9+Fo3NB5_&n|T@%1q&5 zkYSMJVUS~xWn>TnDXGveF3-$M*Y|QOO3Y2=VUTA~;9*c?P-0|Y0U5){AOKPYvCuy$ zD>b=<k%7H9wIn#RDwUCeRm0O0WIuOtYKc#Na$-qlejX!(L~&|~OKMtTX-<iAPJVH! ze?e*yREk9dte&elwInRFI1}PIjVR4921N!=1}+8=U}9hdxtoEJftP`SL6(7$fsuiM zfmLfe1LH;p1_nk3J_ZH`Hn1QI11AGNg8)=%AOkZ469WT->TU+6$n6ZwKH7pzdjy#x zwlT113#167Y-3>6X4}TVuFbNIfdgTb6ayOr0|OTW2Lm^Q5Cac`6az1VJOdwt3Ijg_ NBZD9V0|OI-5CG;1Soi<{ literal 0 HcmV?d00001 diff --git a/Makefile b/Makefile index 33df9f6..9a9a5bd 100644 --- a/Makefile +++ b/Makefile @@ -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 ### diff --git a/SudokuGrid$1.class b/SudokuGrid$1.class new file mode 100644 index 0000000000000000000000000000000000000000..89d2bc516ff034e0e8f4edefdcf124a03f27c534 GIT binary patch literal 762 zcmX^0Z`VEs1_l!b9Zm*L1}QEEE(S?11_=gf5Fx|CAj`oZ$Ic+n#lX&>z|Nq^&Y;ZB zpu)(&R+5oftYW~(z~d8Knv$Pg>RyzYV$I0FW|NthSz^b?z^{QUp&7==z~Y>rlFG=y z?~|FA>Q|bZlv)&$n3Mw&NlY%u%+Cu*ElSHT%1upSWRTbJ$x19s)K4rg(N8T)%`4G& z1S@d`v8_Rd@dlS9CTII57C_D53eGPrN=|jl1RIEOk{-w$Mh1S@yyTqx;>^5s-_(+f z{1kQuRUQUD1~ncA9tK_>26YAv9tKSYentjqpG1Z9qRgC}RE0eC)Z!9_g2ZBlvc#Os zlvF)N1~%8CqSVqNMh0<^u@(Bo<(YZu`d<D8VD~5HrSdRnF=#U~@E{zZV#vtA<C&M2 zTI8IQSX`W1%*Y@B(yX78n3t~apOlrFT*Am83l>86u1{uhNornd5hDW^!azm_W(`mX za3v-urxq8h7#J8}gmx4o15DZwBrRB+kzekcT3no%p6ZgBn3JE*$Y6sM#?JY<1^IcY zc_r46a7S_*vPf`AQD$DcwWnqng8~C50~Z4$12+SsfB+~E85kIt7#JA%82A|&83Y&@ z7?c>8z#?2)+FKbIwYD=bZDe3zU}O+vU|?WlU}RumP-S3b5MmI9s`p`F0jrnO+QPuN zgMoP_122TdvYdg3QHWKDjd=$H2gnR2uo*%OEDQ_`>I_^A8Vn)~S`4xbIt(HV3?NfP dI2f22M8Pf+V-N?6Niaw<C^0aA-OR}V1^|5JtY-iK literal 0 HcmV?d00001 diff --git a/SudokuGrid.class b/SudokuGrid.class new file mode 100644 index 0000000000000000000000000000000000000000..265d6fd068a4353c44f8f82da0e9109843c9b4e6 GIT binary patch literal 2701 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 X7?>CWK|#+D#9#?d5R4463}65Nn5~r} literal 0 HcmV?d00001 diff --git a/SudokuGrid.java b/SudokuGrid.java index b6e69f2..75d917a 100644 --- a/SudokuGrid.java +++ b/SudokuGrid.java @@ -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]); } diff --git a/TextFilter.class b/TextFilter.class new file mode 100644 index 0000000000000000000000000000000000000000..fea79d65cbd84a6f611010ee1575234b01aa3b9e GIT binary patch literal 677 zcmX^0Z`VEs1_l!bEiML522oB14hAtU1~vw9E(Qq(NiGH{25EK%8IXu9JA)iMgFGVx zOGs)(2_u7qPgY`CVugNjd1hX^z86T)Ei*MI#hQ_U%_cK1v&4>(L0SWsBF!*H1{UZ1 zlvG9rexJ;|RKL>Pq|~C2#H5^5Mh1@T)XI>`g47g71{sJ6`ibQw`l)59c_sSZsg<rE zhBe3t-r$nN<ZR!>0;o=|;QZ2}<W#pzkTLuaH|3P17U_Z9%EQ3Jpuoex#lX$Opva)a z&Y;Z0pu(Wa&Y;G_pw6Jd$RG|<g~ci!22BP9Mg}f~d5jE_m}(tU5(`RFix?T0H9&6T zN>45EPOWs#NQ4MEGct&QG+_oABLjPSY6-}6Mg|cLO>mg$=OpH(>j#$<W#*+@GcpK( zbRvr}GO*>O=B1ZpfUWanWMEIu&nqs?O=VDI;9%fnU|?WmU;_D-fq{XEfsuiSftP`i zfscWKL5qQjfr){EflF&U1EZGqRtBbxVAcE#3=Dh>%nS?+oD3`s+zgxyJPeEs0t|vs zefbPb3@i)`3<lcU7?^FfwlFYlV_@0Fz-lKWV6c#ZQ%1mY2?MW;0LOd=cI|Bp?6NEi zAq<e|Obj5?<rvr*7#IW@SQ&&F1Q<jalo-Sq)EFcgv>Bus^cmzCgur$)|7DP2WaQ*v LU}O*mJ6;3;9h8lw literal 0 HcmV?d00001 diff --git a/TextFilter.java b/TextFilter.java new file mode 100644 index 0000000..debb732 --- /dev/null +++ b/TextFilter.java @@ -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(); + } + + + } +} diff --git a/TextFilter.java~ b/TextFilter.java~ new file mode 100644 index 0000000..94a00c6 --- /dev/null +++ b/TextFilter.java~ @@ -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 + } + } +}