Mercurial > hg > Members > riono > TreeVNC_ja_comment
annotate src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncRootSelectionPanel.java @ 434:aad75cd6d9e2
Multicast joins both ipv4 and ipv6 now.
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 11 Jun 2016 22:42:58 +0900 |
parents | 3a7d02844cfe |
children |
rev | line source |
---|---|
206 | 1 package jp.ac.u_ryukyu.treevnc; |
1 | 2 |
130 | 3 import com.glavsoft.viewer.swing.ConnectionParams; |
4 | |
434
aad75cd6d9e2
Multicast joins both ipv4 and ipv6 now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
5 import javax.swing.*; |
1 | 6 import java.awt.*; |
434
aad75cd6d9e2
Multicast joins both ipv4 and ipv6 now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
7 import java.awt.event.ActionEvent; |
aad75cd6d9e2
Multicast joins both ipv4 and ipv6 now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
8 import java.awt.event.ActionListener; |
aad75cd6d9e2
Multicast joins both ipv4 and ipv6 now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
9 import java.awt.event.ItemEvent; |
aad75cd6d9e2
Multicast joins both ipv4 and ipv6 now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
10 import java.awt.event.ItemListener; |
130 | 11 |
129 | 12 public class TreeVncRootSelectionPanel extends JFrame implements ActionListener, |
1 | 13 ItemListener { |
14 | |
15 /** | |
16 * | |
17 */ | |
18 private static final long serialVersionUID = 1L; | |
398 | 19 private final FindRoot findRoot; |
20 private JPanel panel = new JPanel(); | |
403
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
21 private JButton button = new JButton("Start"); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
22 private JComboBox advancedMenu = new JComboBox(); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
23 private TextField t1; |
1 | 24 private TextField t2; |
25 private double width = 750; | |
26 private double height = 500; | |
27 private JLabel label; | |
28 private int counter = 0; | |
29 // private JCheckBox[] check = new JCheckBox[20]; | |
30 private Checkbox[] check = new Checkbox[20]; | |
31 private String port; | |
32 private CheckboxGroup ch = new CheckboxGroup(); | |
32 | 33 private Container contentPane = getContentPane(); |
130 | 34 private CreateConnectionParam cp; |
1 | 35 |
398 | 36 public TreeVncRootSelectionPanel(final FindRoot findRoot) { |
37 this.findRoot = findRoot; | |
38 setTitle("TreeVNC Root Address"); | |
39 setResizable(false); | |
403
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
40 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
41 setAdvancedMenu(); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
42 setButton(); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
43 } |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
44 |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
45 private void setAdvancedMenu() { |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
46 advancedMenu.addItem("Connect to TreeVNC"); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
47 advancedMenu.addItem("Start as TreeVNC Root"); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
48 advancedMenu.addItem("Start Display Mode"); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
49 panel.add(advancedMenu); |
399
28d67bbfa9f1
Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
398
diff
changeset
|
50 contentPane.add(panel, BorderLayout.CENTER); |
28d67bbfa9f1
Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
398
diff
changeset
|
51 } |
398 | 52 |
403
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
53 public void ipRegister() { |
1 | 54 setSize(); |
55 setText(); | |
2
dca3bd61b830
before change MyVncClient.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
56 setButton(); |
1 | 57 visible(); |
58 } | |
59 | |
60 private void setSize() { | |
61 Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); | |
62 width = (d.getWidth() / 2); | |
63 height = (d.getHeight() / 2); | |
64 } | |
65 | |
2
dca3bd61b830
before change MyVncClient.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
66 public void visible() { |
1 | 67 Point point = new Point(); |
68 point.setLocation(width - 250, height - 80); | |
69 setLocation(point.getLocation()); | |
70 pack(); | |
71 setVisible(true); | |
72 } | |
73 | |
74 public void unVisible() { | |
75 setVisible(false); | |
76 } | |
77 | |
2
dca3bd61b830
before change MyVncClient.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
78 private void setText() { |
1 | 79 t1 = new TextField("Address", 30); |
130 | 80 t2 = new TextField(Integer.toString(ConnectionParams.DEFAULT_VNC_ROOT), 5); |
1 | 81 panel.add(t1); |
82 panel.add(t2); | |
2
dca3bd61b830
before change MyVncClient.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
83 //panel.add(button); |
dca3bd61b830
before change MyVncClient.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
84 //button.addActionListener(this); |
1 | 85 label = new JLabel(); |
86 contentPane.add(panel, BorderLayout.CENTER); | |
87 contentPane.add(label, BorderLayout.SOUTH); | |
88 } | |
89 | |
434
aad75cd6d9e2
Multicast joins both ipv4 and ipv6 now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
90 /** |
aad75cd6d9e2
Multicast joins both ipv4 and ipv6 now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
91 * add tree vnc server selection |
aad75cd6d9e2
Multicast joins both ipv4 and ipv6 now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
92 * @param str |
aad75cd6d9e2
Multicast joins both ipv4 and ipv6 now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
93 */ |
2
dca3bd61b830
before change MyVncClient.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
94 public void checkBox(String str) { |
1 | 95 if (counter == 0) |
96 check[counter] = new Checkbox(str, true, ch); | |
97 else | |
98 check[counter] = new Checkbox(str, false, ch); | |
99 check[counter].addItemListener(this); | |
100 panel.add(check[counter]); | |
101 panel.setLayout(new GridLayout(counter + 2, 0)); | |
102 panel.setLocation((int) width - 250, (int) height - 80); | |
103 counter++; | |
104 } | |
105 | |
106 public void setButton() { | |
107 panel.add(button); | |
108 button.addActionListener(this); | |
109 contentPane.add(panel, BorderLayout.CENTER); | |
110 } | |
111 | |
112 | |
113 public String getPortOption() { | |
114 return t2.getText(); | |
115 } | |
116 | |
117 public String getPort() { | |
118 return port; | |
119 } | |
120 | |
121 public void actionPerformed(ActionEvent e) { | |
403
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
122 if (advancedMenu.getSelectedIndex() == 0) { |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
123 for (int t = 0; t < counter; t++) { |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
124 int ipv4AddressLength = 3; |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
125 int ipv6AddressLength = 17; |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
126 String port = null; |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
127 String hostAddress = null; |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
128 String rootAddress = null; |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
129 if (check[t].getState()) { |
434
aad75cd6d9e2
Multicast joins both ipv4 and ipv6 now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
130 // System.out.println("Root Seletion Panel get the address : "+e+" "+check[t].getLabel()); |
403
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
131 String str = check[t].getLabel(); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
132 String[] temp = str.split(":"); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
133 if (temp.length == ipv4AddressLength) { |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
134 // IPv4 Address |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
135 port = temp[0]; |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
136 hostAddress = temp[1]; |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
137 rootAddress = temp[2]; |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
138 } else if (temp.length == ipv6AddressLength) { |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
139 // IPv6 Address |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
140 port = temp[0]; |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
141 hostAddress = temp[1] + ":" + temp[2] + ":" + temp[3] + ":" + temp[4] + ":" + temp[5] + ":" + temp[6] + ":" + temp[7] + ":" + temp[8]; |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
142 rootAddress = temp[9] + ":" + temp[10] + ":" + temp[11] + ":" + temp[12] + ":" + temp[13] + ":" + temp[14] + ":" + temp[15] + ":" + temp[16]; |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
143 } |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
144 cp.setHostName(hostAddress, Integer.parseInt(port), rootAddress); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
145 unVisible(); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
146 } |
1 | 147 } |
403
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
148 } else if (advancedMenu.getSelectedIndex() == 1) { |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
149 // selected "Start as TreeVNC Root" |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
150 cp.setRootMode(); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
151 cp.restart(); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
152 unVisible(); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
153 } else if (advancedMenu.getSelectedIndex() == 2) { |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
154 // selected "Start Display Mode" |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
155 cp.setDisplayMode(); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
156 cp.restart(); |
3a7d02844cfe
Enable AdvancedMenu to RootSelectionPanel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
401
diff
changeset
|
157 unVisible(); |
1 | 158 } |
159 } | |
160 | |
161 | |
162 public void itemStateChanged(ItemEvent e) { | |
163 } | |
130 | 164 |
165 public void setCp(CreateConnectionParam cp) { | |
166 this.cp = cp; | |
167 } | |
1 | 168 } |