1 import java
.awt
.BorderLayout
;
2 import java
.awt
.event
.ActionEvent
;
3 import java
.awt
.event
.ActionListener
;
4 import java
.util
.ArrayList
;
6 import javax
.swing
.BoxLayout
;
7 import javax
.swing
.JButton
;
8 import javax
.swing
.JFrame
;
9 import javax
.swing
.JPanel
;
10 import javax
.swing
.JScrollPane
;
11 import javax
.swing
.JTextArea
;
12 import javax
.swing
.JTextField
;
13 import javax
.swing
.ScrollPaneConstants
;
17 * Applications réparties
21 * IHM pour l'application cliente
26 public class IHM
implements ActionListener
{
28 private JTextArea entrants
;
29 private JTextField sortants
;
30 private ArrayList
<String
> sendMessages
;
33 sendMessages
= new ArrayList
<String
>();
37 JFrame cadre
= new JFrame("Client de discussion");
38 JPanel panneau
= new JPanel();
39 entrants
= new JTextArea(15, 30);
40 entrants
.setLineWrap(true);
41 entrants
.setWrapStyleWord(true);
42 entrants
.setEditable(false);
43 JScrollPane zoneTexte
= new JScrollPane(entrants
);
44 zoneTexte
.setVerticalScrollBarPolicy(ScrollPaneConstants
.VERTICAL_SCROLLBAR_ALWAYS
);
45 zoneTexte
.setHorizontalScrollBarPolicy(ScrollPaneConstants
.HORIZONTAL_SCROLLBAR_NEVER
);
46 sortants
= new JTextField(24);
47 JButton boutonEnvoi
= new JButton("Envoi");
48 boutonEnvoi
.addActionListener(this);
49 panneau
.add(zoneTexte
);
50 panneau
.add(sortants
);
51 panneau
.add(boutonEnvoi
);
52 cadre
.getContentPane().add(BorderLayout
.CENTER
, panneau
);
53 cadre
.setSize(400, 310);
54 cadre
.setVisible(true);
56 panneau
.setLayout(new BoxLayout(panneau
, BoxLayout
.Y_AXIS
));
60 synchronized public void actionPerformed(ActionEvent ev
) {
61 sendMessages
.add(sortants
.getText());
63 sortants
.requestFocus();
67 synchronized public String
getNextMessageToSend() {
69 if (sendMessages
.isEmpty())
73 System
.err
.println("Exception : " + e
);
76 String mess
= (String
)sendMessages
.remove(0);
77 System
.out
.println("IHM -> message a envoyer : " + mess
);
81 public void writeMessage(String mess
) {
82 System
.out
.println("IHM -> message a ecrire : " + mess
);
83 entrants
.append(mess
+ "\n");
86 } // fin classe SimpleClientDiscussion