annotate src/main/java/alice/test/chat/ChatWindow.java @ 601:30f2c04571c2 dispose

add chat, add Star topology to topology manager&node
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Wed, 27 Apr 2016 16:28:10 +0900
parents
children 8a9fd716c335
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
601
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 package alice.test.chat;
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 import alice.codesegment.CodeSegment;
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 import alice.datasegment.CommandType;
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 import alice.datasegment.Receiver;
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 import javax.swing.*;
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 import java.awt.*;
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 import java.awt.event.ActionEvent;
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 import java.awt.event.ActionListener;
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 /**
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 * Created by e125769 on 3/29/16.
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 */
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 public class ChatWindow extends CodeSegment{
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 public JTextArea textArea;
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 public Receiver name = ids.create(CommandType.PEEK);
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 public ChatWindow(){
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 name.setKey("local","userName");
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 }
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 @Override
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 public void run() {
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 JFrame mainFrame = new JFrame("Chat");
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 mainFrame.setSize(300, 500);
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 mainFrame.setLocationRelativeTo(null);
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 Container contentPane = mainFrame.getContentPane();
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 textArea = new JTextArea(5,0);
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 JScrollPane scrollPane = new JScrollPane(textArea);
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 final JTextField textField = new JTextField();
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 textField.addActionListener(new ActionListener() {
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 public void actionPerformed(ActionEvent e) {
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 send("(" + name+ ") " + textField.getText() + "\n");
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 textField.setText("");
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 }
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 });
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 contentPane.add(scrollPane, BorderLayout.CENTER);
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 contentPane.add(textField, BorderLayout.SOUTH);
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 mainFrame.setVisible(true);
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 }
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 public void show(String message){
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 textArea.append(message);
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 }
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 public void send(String message){
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 ods.put("sendMessage", message);
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 }
30f2c04571c2 add chat, add Star topology to topology manager&node
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 }