Bonjour,
Je voudrais faire un chat en java, mais j'ai un problème, lorsque je clique sur mon bouton "envoyer" du chat, la 1ere ligne de mon JTextArea est correctement afficher, la 2eme aussi mais dés le 3eme envois le JTextArea remplace les anciennes lignes.
J'aimerais taper dans mon TextField et que ca me renvoi la phrase dans mon JTextarea, ce qui est le cas mais ca ne marche que 2 fois. Je ne comprend pas.
Mon code :
Si quelqu'un peut m'aider ce serait super. Merci.
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 class ChatPanel extends JPanel { JTextField chatTextField; JTextArea chatLabel; JScrollPane scroll; ChatPanel() { JPanel contentchat = new JPanel(); chatTextField = new JTextField("Ecrire ici"); chatTextField.setPreferredSize(new Dimension(787, 27)); Font fontchatTextField = new Font("Arial",Font.BOLD,14); chatTextField.setFont(fontchatTextField); chatTextField.setForeground(new Color(10,140,242)); JButton envoyerBouton = new JButton("Envoyer"); envoyerBouton.setBackground(new Color(255,112,0)); envoyerBouton.setForeground(new Color(255,255,255)); setLayout(new BorderLayout()); contentchat.add(chatTextField); contentchat.add(envoyerBouton); add(contentchat, BorderLayout.SOUTH); envoyerBouton.addActionListener(new envoyerBoutonListener()); goo(); } private void goo(){ } class envoyerBoutonListener implements ActionListener{ public void actionPerformed(ActionEvent arg0) { JTextArea code = new JTextArea(); JScrollPane scroll = new JScrollPane(chatLabel); scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); scroll.setPreferredSize(new Dimension(800, 600)); add(scroll); recupChatTextField = chatTextField.getText(); String chatLabel2 = ("Vous : " + recupChatTextField + "\n"); chatLabel = new JTextArea(chatLabel2); chatLabel.setEditable(false); chatLabel.setLineWrap(true); code.setWrapStyleWord(true); add(chatLabel, BorderLayout.NORTH); chatLabel.revalidate(); } } }
Partager