annotate rep/gui/RPanel.java @ 322:5893fd8c0f50

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