From 1e9789684fe5ab85ca6f421ccbbd14283529632e Mon Sep 17 00:00:00 2001 From: xdatomic-the-codeur Date: Thu, 27 Mar 2025 17:15:08 +0100 Subject: [PATCH] Phase jsp --- src/controleur/Controle.java | 12 +++++++++-- src/modele/Joueur.java | 4 ++++ src/vue/Arene.java | 39 ++++++++++++++++++++++++++++-------- 3 files changed, 45 insertions(+), 10 deletions(-) diff --git a/src/controleur/Controle.java b/src/controleur/Controle.java index 5d78c86..2ae7101 100644 --- a/src/controleur/Controle.java +++ b/src/controleur/Controle.java @@ -41,7 +41,7 @@ public class Controle implements AsyncResponse { // new ServeurSocket(this, GLOBAL.PORT); - this.frmArene = new Arene(); + this.frmArene = new Arene(this); this.frmArene.setVisible(true); this.leJeu = new JeuServeur(this); @@ -65,7 +65,7 @@ public class Controle implements AsyncResponse { this.leJeu = new JeuClient(this); this.leJeu.connexion(connection); - this.frmArene = new Arene(); + this.frmArene = new Arene(this); this.frmChoixJoueur = new ChoixJoueur(this); this.frmChoixJoueur.setVisible(true); }else { @@ -116,5 +116,13 @@ public class Controle implements AsyncResponse { break; } } + + public void evenementArene(String ordre, Object info) { + switch(ordre) { + case "tchat": + ((JeuClient)this.leJeu).envoi("tchat" + GLOBAL.separateur + info); + break; + } + } } diff --git a/src/modele/Joueur.java b/src/modele/Joueur.java index 00c009d..3d11343 100644 --- a/src/modele/Joueur.java +++ b/src/modele/Joueur.java @@ -172,6 +172,10 @@ public class Joueur extends Objet { return false; } + public String getSpeudo() { + return this.pseudo; + } + /** * vrai si la vie est à 0 * @return true si vie = 0 diff --git a/src/vue/Arene.java b/src/vue/Arene.java index 0af66dd..61ca466 100644 --- a/src/vue/Arene.java +++ b/src/vue/Arene.java @@ -11,6 +11,7 @@ import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; +import controleur.Controle; import controleur.GLOBAL; import modele.Mur; @@ -19,14 +20,18 @@ import javax.swing.JTextField; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.ScrollPaneConstants; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; public class Arene extends JFrame { private static final long serialVersionUID = 1L; private JPanel contentPane; - private JTextField textField; + private JTextField txtSaisie; private JPanel jpnMur; public JPanel jpnJeu; + public JTextArea txtChat; + private Controle controle; /** * Launch the application. @@ -35,7 +40,7 @@ public class Arene extends JFrame { /** * Create the frame. */ - public Arene() { + public Arene(Controle controle) { setTitle("Arene"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.getContentPane().setPreferredSize(new Dimension(800, 729)); @@ -77,18 +82,27 @@ public class Arene extends JFrame { lblNewLabel.setBounds(0, 0, 792, 590); contentPane.add(lblNewLabel); - textField = new JTextField(); - textField.setBounds(0, 591, 800, 30); - contentPane.add(textField); - textField.setColumns(10); + txtSaisie = new JTextField(); + txtSaisie.setBounds(0, 591, 800, 30); + contentPane.add(txtSaisie); + txtSaisie.setColumns(10); + + txtSaisie.addKeyListener(new KeyAdapter() { + @Override + public void keyPressed(KeyEvent e) { + if(!Arene.this.txtSaisie.equals("") && e.getKeyCode() == KeyEvent.VK_ENTER) { + controle.evenementArene("tchat", Arene.this.getMessage()); + } + } + }); JScrollPane scrollPane = new JScrollPane(); scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); scrollPane.setBounds(0, 620, 800, 98); contentPane.add(scrollPane); - JTextArea textArea = new JTextArea(); - scrollPane.setViewportView(textArea); + txtChat = new JTextArea(); + scrollPane.setViewportView(txtChat); } public void ajoutMurs(Object portougal) { jpnMur.add((JLabel)portougal); @@ -117,4 +131,13 @@ public class Arene extends JFrame { this.jpnJeu.add(jpnJeu); this.jpnJeu.repaint(); } + public String getMessage() { + return this.txtSaisie.getText(); + } + public void setMessage(String msg) { + this.txtChat.setText(msg); + } + public void ajoutTchat(String Staline) { + this.txtChat.setText(this.txtChat.getText() + Staline + "\r\n"); + } }