Mercurial > hg > Database > Alice
view 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 |
line wrap: on
line source
package alice.test.chat; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * Created by e125769 on 3/29/16. */ public class ChatWindow extends CodeSegment{ public JTextArea textArea; public Receiver name = ids.create(CommandType.PEEK); public ChatWindow(){ name.setKey("local","userName"); } @Override public void run() { JFrame mainFrame = new JFrame("Chat"); mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mainFrame.setSize(300, 500); mainFrame.setLocationRelativeTo(null); Container contentPane = mainFrame.getContentPane(); textArea = new JTextArea(5,0); JScrollPane scrollPane = new JScrollPane(textArea); final JTextField textField = new JTextField(); textField.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { send("(" + name+ ") " + textField.getText() + "\n"); textField.setText(""); } }); contentPane.add(scrollPane, BorderLayout.CENTER); contentPane.add(textField, BorderLayout.SOUTH); mainFrame.setVisible(true); } public void show(String message){ textArea.append(message); } public void send(String message){ ods.put("sendMessage", message); } }