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