annotate rep/gui/RPanel.java @ 387:6f356d160e58

IPv6 any address
author one@firefly.cr.ie.u-ryukyu.ac.jp
date Mon, 10 Nov 2008 22:21:52 +0900
parents 4b87f89b3afd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
320
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
1 package rep.gui;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
2
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
3 import java.awt.Dimension;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
4 import java.awt.event.ActionEvent;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
5 import java.awt.event.ActionListener;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
6 import java.awt.event.MouseEvent;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
7 import java.awt.event.MouseListener;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
8
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
9 import javax.swing.JButton;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
10 import javax.swing.JLabel;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
11 import javax.swing.JPanel;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
12 import javax.swing.JScrollPane;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
13 import javax.swing.JTable;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
14 import javax.swing.JTextArea;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
15 import javax.swing.JTextField;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
16 import javax.swing.table.DefaultTableModel;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
17
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
18 import rep.REPCommand;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
19 import rep.Session;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
20 import rep.channel.REPSocketChannel;
382
4b87f89b3afd REP Session Manager (Java version)
one@firefly.cr.ie.u-ryukyu.ac.jp
parents: 334
diff changeset
21 import rep.handler.REPNode;
320
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
22
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
23 import java.util.*;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
24
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
25 public class RPanel extends JPanel implements ActionListener, MouseListener {
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
26
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
27 /**
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
28 *
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
29 */
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
30 private static final long serialVersionUID = 1L;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
31 private JButton connectButton;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
32 private JTextField textField;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
33 private String host;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
34 private JLabel label;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
35 private JTextArea textArea;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
36 //private JScrollPane viewerPane;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
37 private JTable session_table;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
38 private JScrollPane s_sp;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
39 private JTable editor_table;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
40 private JScrollPane e_sp;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
41 private String[] session_column = {"HOST", "PORT", "FILE", "SID", "EID"};
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
42 private String[] editor_column = {"EID", "SOCKET_CHANNEL"};
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
43 private DefaultTableModel s_tableModel = new DefaultTableModel(session_column, 0);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
44 private DefaultTableModel e_tableModel = new DefaultTableModel(editor_column, 0);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
45 //LinkedList<SessionPlus> s_list = new LinkedList<SessionPlus>();
382
4b87f89b3afd REP Session Manager (Java version)
one@firefly.cr.ie.u-ryukyu.ac.jp
parents: 334
diff changeset
46 LinkedList<REPNode> e_list = new LinkedList<REPNode>();
320
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
47 private String s_host;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
48 private String s_port;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
49 private String s_file;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
50 private String s_sid;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
51 private String s_eid;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
52 private String e_eid;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
53 private String e_socketchannel;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
54 private JButton selectButton;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
55 private JButton closeButton;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
56 private SessionManagerEventListener listener;
382
4b87f89b3afd REP Session Manager (Java version)
one@firefly.cr.ie.u-ryukyu.ac.jp
parents: 334
diff changeset
57 private LinkedList<REPNode> editorList;
320
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
58 private LinkedList<Session> sessionList;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
59
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
60 public RPanel() {
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
61 connectButton = new JButton("Connect");
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
62 textField = new JTextField("firefly.cr.ie.u-ryukyu.ac.jp");
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
63 textArea = new JTextArea();
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
64 label = new JLabel("test");
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
65 session_table = new JTable(s_tableModel);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
66 s_sp = new JScrollPane(session_table);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
67 editor_table = new JTable(e_tableModel);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
68 e_sp = new JScrollPane(editor_table);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
69 selectButton = new JButton("Select Session");
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
70 closeButton = new JButton("Close Session");
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
71
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
72
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
73 connectButton.setBounds(160, 5, 100, 20);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
74 textField.setBounds(5, 5, 150, 20);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
75 textArea.setEditable(false);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
76 textArea.setLineWrap(false);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
77 session_table.setBounds(5,30,400,200);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
78 s_sp.setPreferredSize(new Dimension(200, 200));
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
79 s_sp.setBounds(5,30,400,100);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
80 e_sp.setPreferredSize(new Dimension(200, 200));
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
81 e_sp.setBounds(5,140,400,100);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
82 selectButton.setBounds(430, 215, 130, 20);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
83 closeButton.setBounds(430, 105, 130, 20);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
84
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
85
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
86 this.setLayout(null);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
87 this.add(textField);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
88 this.add(connectButton);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
89 this.add(label);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
90 this.add(s_sp);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
91 this.add(e_sp);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
92 this.add(selectButton);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
93 this.add(closeButton);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
94
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
95 connectButton.addActionListener(this);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
96 selectButton.addActionListener(this);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
97 closeButton.addActionListener(this);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
98 editor_table.addMouseListener(this);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
99
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
100 }
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
101
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
102 public void actionPerformed(ActionEvent event) {
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
103 if (event.getSource() == connectButton) {
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
104 host = textField.getText();
334
4fae49280699 Test pattern for Inter-Session Manager communication
kono
parents: 322
diff changeset
105 listener.buttonPressed(new ConnectButtonEvent(host));
320
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
106
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
107 }else if(event.getSource() == selectButton){
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
108 //System.out.println("RPanel.actionPerformed() : editorSelectedRow = " + editor_table.getSelectedRow());
387
6f356d160e58 IPv6 any address
one@firefly.cr.ie.u-ryukyu.ac.jp
parents: 382
diff changeset
109 int selectedSession = session_table.getSelectedRow();
6f356d160e58 IPv6 any address
one@firefly.cr.ie.u-ryukyu.ac.jp
parents: 382
diff changeset
110 if (selectedSession<0) return; // no sessin is selected
6f356d160e58 IPv6 any address
one@firefly.cr.ie.u-ryukyu.ac.jp
parents: 382
diff changeset
111 int selectedEditor = editor_table.getSelectedRow();
320
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
112 listener.buttonPressed(
387
6f356d160e58 IPv6 any address
one@firefly.cr.ie.u-ryukyu.ac.jp
parents: 382
diff changeset
113 new SelectButtonEvent(editorList.get(selectedEditor),
6f356d160e58 IPv6 any address
one@firefly.cr.ie.u-ryukyu.ac.jp
parents: 382
diff changeset
114 sessionList.get(selectedSession)));
320
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
115 }else if(event.getSource() == closeButton){
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
116 listener.buttonPressed(new CloseButtonEvent(sessionList.get(session_table.getSelectedRow()), listener));
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
117 }
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
118 }
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
119
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
120 public void setTableEditor(int eid, REPSocketChannel<REPCommand> channel) {
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
121 //System.out.println("RPanel.setTableEditor() : channel = " + channel);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
122 Vector<String> editor = new Vector<String>();
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
123 e_eid = "Editor : " + eid;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
124 e_socketchannel = "SocketChannel : " + channel;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
125 editor.add(e_eid);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
126 editor.add(e_socketchannel);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
127 e_tableModel.addRow(editor);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
128 }
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
129
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
130 public void setTableSession(int sessionID, String string) {
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
131 //SessionPlus sp = new SessionPlus(sessionID, string);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
132 //s_list.add(sp);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
133 Vector<String> session = new Vector<String>();
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
134 s_host = " ";
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
135 s_port = " ";
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
136 s_file = "" + string;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
137 s_sid = "" + sessionID;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
138 s_eid = " ";
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
139 session.add(s_host);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
140 session.add(s_port);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
141 session.add(s_file);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
142 session.add(s_sid);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
143 session.add(s_eid);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
144 s_tableModel.addRow(session);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
145 }
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
146
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
147 public static void main(String[] args){
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
148 new RPanel();
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
149 }
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
150
321
d46f1e255919 *** empty log message ***
kono
parents: 320
diff changeset
151 public void setTableSession(LinkedList<Session> list) {
320
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
152 s_tableModel.setRowCount(0);
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
153 sessionList = list;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
154 for(Session session : list){
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
155 setTableSession(session.getSID(), session.getName());
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
156 }
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
157 }
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
158
382
4b87f89b3afd REP Session Manager (Java version)
one@firefly.cr.ie.u-ryukyu.ac.jp
parents: 334
diff changeset
159 public void setTableEditor(LinkedList<REPNode> elist) {
322
5893fd8c0f50 *** empty log message ***
kono
parents: 321
diff changeset
160 /*
5893fd8c0f50 *** empty log message ***
kono
parents: 321
diff changeset
161 * Editor.eid is unique in a session, we cannot use.
5893fd8c0f50 *** empty log message ***
kono
parents: 321
diff changeset
162 * number it simply based on the order in the list
5893fd8c0f50 *** empty log message ***
kono
parents: 321
diff changeset
163 */
320
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
164 e_tableModel.setRowCount(0);
382
4b87f89b3afd REP Session Manager (Java version)
one@firefly.cr.ie.u-ryukyu.ac.jp
parents: 334
diff changeset
165 editorList = elist;
321
d46f1e255919 *** empty log message ***
kono
parents: 320
diff changeset
166 int i=0;
382
4b87f89b3afd REP Session Manager (Java version)
one@firefly.cr.ie.u-ryukyu.ac.jp
parents: 334
diff changeset
167 for(REPNode editor : elist){
321
d46f1e255919 *** empty log message ***
kono
parents: 320
diff changeset
168 setTableEditor(i++, editor.getChannel());
320
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
169 }
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
170 }
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
171
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
172 public void addREPActionListener(SessionManagerEventListener listener) {
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
173 this.listener = listener;
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
174 }
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
175
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
176 public void mouseClicked(MouseEvent e) {
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
177 //System.out.println("RPanel.mouseClicked() : editorChannel = " + editorList.get(editor_table.getSelectedRow()).getChannel());
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
178 }
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
179
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
180 public void mouseEntered(MouseEvent e) {
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
181
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
182 }
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
183
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
184 public void mouseExited(MouseEvent e) {
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
185
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
186 }
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
187
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
188 public void mousePressed(MouseEvent e) {
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
189
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
190 }
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
191
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
192 public void mouseReleased(MouseEvent e) {
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
193
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
194 }
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
195
83790b8b8174 *** empty log message ***
kono
parents:
diff changeset
196 }