From cf5132f5302408dfb99a254ee7eb745f60986c62 Mon Sep 17 00:00:00 2001 From: "Teo R." Date: Thu, 24 Sep 2026 13:49:01 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20fonctionnilit=C3=A9,=20Focus=20TextFiel?= =?UTF-8?q?d=20en=20cliquant=20les=20onglets.=20+=20Refocus=20textfield=20?= =?UTF-8?q?pour=20calcul=20suivant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProjetJava/src/main/java/views/CalculPanel.java | 10 ++++++++-- ProjetJava/src/main/java/views/PrimaryWindow.java | 12 ++++++++++++ ProjetJava/src/main/java/views/QuestionPanel.java | 3 +++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/ProjetJava/src/main/java/views/CalculPanel.java b/ProjetJava/src/main/java/views/CalculPanel.java index c28e021..42b1f05 100644 --- a/ProjetJava/src/main/java/views/CalculPanel.java +++ b/ProjetJava/src/main/java/views/CalculPanel.java @@ -32,7 +32,7 @@ public class CalculPanel extends JPanel { private CalculService cs = new CalculService(); private Calcul calcul; private GameLevel gameLevel; - + private JTextField textResponse; Color lightGreen = new Color(180, 230, 180); Color lightRed = new Color(245, 190, 190); @@ -58,7 +58,7 @@ public class CalculPanel extends JPanel { JPanel panelResponse = new JPanel(new FlowLayout(FlowLayout.CENTER)); JLabel labelReponse = new JLabel("Votre réponse : "); labelReponse.setFont(new Font("Arial", Font.PLAIN, 16)); - JTextField textResponse = new JTextField(20); + textResponse = new JTextField(20); textResponse.setFont(new Font("Arial", Font.PLAIN, 16)); panelResponse.add(labelReponse); @@ -116,9 +116,11 @@ public class CalculPanel extends JPanel { // Remet les réponses à 0 clearResponse(textResponse, labelVerif); + textResponse.requestFocusInWindow(); } }); + panelSud.add(btnCheck); panelSud.add(btnSolution); panelSud.add(btnNewCalcul); @@ -162,4 +164,8 @@ public class CalculPanel extends JPanel { t.setBackground(Color.WHITE); t.setBorder(null); } + + public JTextField getChampCalcul(){ + return textResponse; + } } diff --git a/ProjetJava/src/main/java/views/PrimaryWindow.java b/ProjetJava/src/main/java/views/PrimaryWindow.java index fe9d4fa..2e927bf 100644 --- a/ProjetJava/src/main/java/views/PrimaryWindow.java +++ b/ProjetJava/src/main/java/views/PrimaryWindow.java @@ -121,6 +121,18 @@ public class PrimaryWindow extends JFrame { tabbedPane.addTab("Calcul", p); tabbedPane.addTab("Question", panelQuestion); + + // Gestion du focus des champs de texte + tabbedPane.addChangeListener(e -> { + if(tabbedPane.getSelectedIndex() == 1){ + p.getChampCalcul().requestFocus(); + } + + if(tabbedPane.getSelectedIndex() == 2){ + panelQuestion.getChampQuestion().requestFocus(); + } + }); + // Admin /* * Onglet Administration (quatrième onglet) diff --git a/ProjetJava/src/main/java/views/QuestionPanel.java b/ProjetJava/src/main/java/views/QuestionPanel.java index 243470d..9e088c8 100644 --- a/ProjetJava/src/main/java/views/QuestionPanel.java +++ b/ProjetJava/src/main/java/views/QuestionPanel.java @@ -155,4 +155,7 @@ public final class QuestionPanel extends JPanel { labelValidator.setText(""); } + public JTextField getChampQuestion(){ + return textResponse; + } } -- GitLab