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