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