2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
7 * NishioTweetManager.java
9 * Created on 2010/09/06, 3:32:04
11 package twitter.gui.form;
13 import java.awt.AWTException;
14 import java.awt.Image;
15 import java.awt.MenuItem;
16 import java.awt.PopupMenu;
17 import java.awt.SystemTray;
18 import java.awt.TrayIcon;
19 import java.awt.event.ActionEvent;
20 import java.awt.event.ActionListener;
21 import java.awt.event.MouseAdapter;
22 import java.awt.event.MouseEvent;
23 import java.awt.image.BufferedImage;
24 import java.io.IOException;
26 import java.util.logging.Level;
27 import java.util.logging.Logger;
28 import javax.swing.ImageIcon;
29 import javax.swing.JButton;
30 import javax.swing.JFrame;
31 import javax.swing.JPopupMenu;
32 import javax.swing.UIManager;
33 import javax.swing.WindowConstants;
34 import javax.swing.text.Style;
35 import javax.swing.text.StyleConstants;
36 import javax.swing.text.html.HTMLDocument;
37 import javax.swing.text.html.StyleSheet;
38 import twitter.action.list.ListGetterSelection;
39 import twitter.gui.action.TweetMainAction;
40 import twitter.gui.component.TweetHashtagHyperlinkHandler;
41 import twitter.gui.component.TweetHyperlinkHandler;
42 import twitter.gui.component.TweetTextFieldPopupMenu;
43 import twitter.manage.ClientVersionManager;
44 import twitter.manage.TweetManager;
45 import twitter.manage.VersionInfo;
46 import twitter.task.TimerID;
47 import twitter4j.ConnectionLifeCycleListener;
53 public class NishioTweetManager extends javax.swing.JFrame implements ConnectionLifeCycleListener{
55 private SystemTray systemTray;
56 private TrayIcon trayIcon;
57 private TweetHashtagHyperlinkHandler hashTagHyperlinkListener = new TweetHashtagHyperlinkHandler();
59 /** Creates new form NishioTweetManager */
60 public NishioTweetManager() {
67 updateSelectedInformation();
73 private void initComponents2() {
78 * URL resource = getClass().getResource("icon.png"); image = new
79 * ImageIcon(resource).getImage();
81 image = new ImageIcon("resources/icon.png").getImage();
83 this.setIconImage(image);
84 } catch (Exception e) {
86 image = new BufferedImage(32, 32, BufferedImage.TYPE_INT_RGB);
89 systemTray = SystemTray.getSystemTray();
90 final JFrame frame = this;
91 final PopupMenu popup = new PopupMenu();
92 trayIcon = new TrayIcon(image, "Nishio Tweet Manager", popup);
94 // 左クリックした時に「画面を開く」アクションをする
95 trayIcon.addMouseListener(new MouseAdapter() {
98 public void mousePressed(MouseEvent me) {
100 if (me.getButton() == MouseEvent.BUTTON1) {
101 frame.setVisible(true);
107 MenuItem item1 = new MenuItem("画面を開く");
108 item1.addActionListener(new ActionListener() {
111 public void actionPerformed(ActionEvent e) {
112 frame.setVisible(true);
115 MenuItem item2 = new MenuItem("終了");
116 item2.addActionListener(new ActionListener() {
119 public void actionPerformed(ActionEvent e) {
120 systemTray.remove(trayIcon);
121 frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
130 systemTray.add(trayIcon);
131 } catch (AWTException e) {
135 //tweet発言するボックスの右クリック対応
136 this.jTextPane.setComponentPopupMenu(
137 new TweetTextFieldPopupMenu( this.jTextPane, false ) );
138 this.tweetMessageBox.setComponentPopupMenu(
139 new TweetTextFieldPopupMenu( this.tweetMessageBox, true) );
140 this.userIntroBox.setComponentPopupMenu(
141 new TweetTextFieldPopupMenu(this.userIntroBox, true));
145 * This method is called from within the constructor to initialize the form.
146 * WARNING: Do NOT modify this code. The content of this method is always
147 * regenerated by the Form Editor.
149 @SuppressWarnings("unchecked")
150 // <editor-fold defaultstate="collapsed"
151 // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
152 private void initComponents() {
154 jTabbedPane1 = new twitter.gui.component.DnDTabbedPane();
155 jPanel1 = new javax.swing.JPanel();
156 jLabel3 = new javax.swing.JLabel();
157 jLabel4 = new javax.swing.JLabel();
158 jLabel5 = new javax.swing.JLabel();
159 userNameLabel = new javax.swing.JLabel();
160 updateTimeLabel = new javax.swing.JLabel();
161 locationLabel = new javax.swing.JLabel();
162 jLabel9 = new javax.swing.JLabel();
163 followingLabel = new javax.swing.JLabel();
164 followerLabel = new javax.swing.JLabel();
165 jLabel12 = new javax.swing.JLabel();
166 jLabel13 = new javax.swing.JLabel();
167 updateLabel = new javax.swing.JLabel();
168 jScrollPane6 = new javax.swing.JScrollPane();
169 userIntroBox = new javax.swing.JEditorPane();
170 jScrollPane7 = new javax.swing.JScrollPane();
171 userWebBox = new javax.swing.JEditorPane();
172 jScrollPane8 = new javax.swing.JScrollPane();
173 clientNameLabel = new javax.swing.JEditorPane();
174 jPanel2 = new javax.swing.JPanel();
175 statusBar = new javax.swing.JLabel();
176 streamingLabel = new javax.swing.JLabel();
177 jToolBar1 = new javax.swing.JToolBar();
178 jButton1 = new javax.swing.JButton();
179 jSeparator1 = new javax.swing.JToolBar.Separator();
180 jButton2 = new javax.swing.JButton();
181 jSeparator2 = new javax.swing.JToolBar.Separator();
182 jToggleButton1 = new javax.swing.JToggleButton();
183 jToggleButton2 = new javax.swing.JToggleButton();
184 jSeparator3 = new javax.swing.JToolBar.Separator();
185 jToggleButton3 = new javax.swing.JToggleButton();
186 jToggleButton4 = new javax.swing.JToggleButton();
187 jToggleButton5 = new javax.swing.JToggleButton();
188 jToggleButton6 = new javax.swing.JToggleButton();
189 jPanel3 = new javax.swing.JPanel();
190 jScrollPane9 = new javax.swing.JScrollPane();
191 jTextPane = new javax.swing.JTextPane();
192 jButton4 = new javax.swing.JButton();
193 tweetLengthLabel = new javax.swing.JLabel();
194 jLabel15 = new javax.swing.JLabel();
195 jPanel4 = new javax.swing.JPanel();
196 userImageLabel = new javax.swing.JLabel();
197 jScrollPane5 = new javax.swing.JScrollPane();
198 tweetMessageBox = new javax.swing.JEditorPane();
199 jMenuBar1 = new javax.swing.JMenuBar();
200 jMenu1 = new javax.swing.JMenu();
201 jMenuItem1 = new javax.swing.JMenuItem();
202 jMenu6 = new javax.swing.JMenu();
203 jMenuItem10 = new javax.swing.JMenuItem();
204 jMenuItem7 = new javax.swing.JMenuItem();
205 jMenuItem8 = new javax.swing.JMenuItem();
206 jSeparator4 = new javax.swing.JPopupMenu.Separator();
207 jMenuItem11 = new javax.swing.JMenuItem();
208 jMenuItem12 = new javax.swing.JMenuItem();
209 jMenuItem13 = new javax.swing.JMenuItem();
210 jMenuItem15 = new javax.swing.JMenuItem();
211 jMenuItem14 = new javax.swing.JMenuItem();
212 jMenuItem16 = new javax.swing.JMenuItem();
213 jSeparator5 = new javax.swing.JPopupMenu.Separator();
214 jMenuItem17 = new javax.swing.JMenuItem();
215 jMenuItem18 = new javax.swing.JMenuItem();
216 jMenuItem21 = new javax.swing.JMenuItem();
217 jMenuItem35 = new javax.swing.JMenuItem();
218 jMenuItem36 = new javax.swing.JMenuItem();
219 jSeparator6 = new javax.swing.JPopupMenu.Separator();
220 jMenuItem30 = new javax.swing.JMenuItem();
221 jMenuItem22 = new javax.swing.JMenuItem();
222 jMenuItem19 = new javax.swing.JMenuItem();
223 jMenuItem20 = new javax.swing.JMenuItem();
224 jMenuItem33 = new javax.swing.JMenuItem();
225 jMenu4 = new javax.swing.JMenu();
226 jMenuItem5 = new javax.swing.JMenuItem();
227 jCheckBoxMenuItem1 = new javax.swing.JCheckBoxMenuItem();
228 jCheckBoxMenuItem2 = new javax.swing.JCheckBoxMenuItem();
229 jCheckBoxMenuItem3 = new javax.swing.JCheckBoxMenuItem();
230 jCheckBoxMenuItem4 = new javax.swing.JCheckBoxMenuItem();
231 jCheckBoxMenuItem5 = new javax.swing.JCheckBoxMenuItem();
232 jCheckBoxMenuItem6 = new javax.swing.JCheckBoxMenuItem();
233 jMenuItem9 = new javax.swing.JMenuItem();
234 jMenu5 = new javax.swing.JMenu();
235 jMenuItem6 = new javax.swing.JMenuItem();
236 jMenuItem23 = new javax.swing.JMenuItem();
237 jMenuItem31 = new javax.swing.JMenuItem();
238 jMenuItem34 = new javax.swing.JMenuItem();
239 jMenu7 = new javax.swing.JMenu();
240 jMenuItem25 = new javax.swing.JMenuItem();
241 jMenuItem24 = new javax.swing.JMenuItem();
242 jMenuItem26 = new javax.swing.JMenuItem();
243 jSeparator7 = new javax.swing.JPopupMenu.Separator();
244 jMenuItem27 = new javax.swing.JMenuItem();
245 jMenuItem28 = new javax.swing.JMenuItem();
246 jMenuItem29 = new javax.swing.JMenuItem();
247 jMenu2 = new javax.swing.JMenu();
248 jMenuItem2 = new javax.swing.JMenuItem();
249 jMenuItem4 = new javax.swing.JMenuItem();
250 jMenu8 = new javax.swing.JMenu();
251 logSaveCheckItem = new javax.swing.JCheckBoxMenuItem();
252 jMenuItem32 = new javax.swing.JMenuItem();
253 jMenu9 = new javax.swing.JMenu();
254 isUsingStreamingMenuItem = new javax.swing.JCheckBoxMenuItem();
255 jMenu3 = new javax.swing.JMenu();
256 jMenuItem3 = new javax.swing.JMenuItem();
258 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
259 setTitle("Nishio Tweet Manager");
261 jTabbedPane1.addContainerListener(new java.awt.event.ContainerAdapter() {
262 public void componentRemoved(java.awt.event.ContainerEvent evt) {
263 jTabbedPane1ComponentRemoved(evt);
267 jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
269 jLabel3.setText("ユーザ名");
271 jLabel4.setText("更新日");
273 jLabel5.setText("現在地");
275 userNameLabel.setText("UserName");
277 updateTimeLabel.setText("Date");
279 locationLabel.setText("Information");
281 jLabel9.setText("Following");
283 followingLabel.setText("0");
285 followerLabel.setText("0");
287 jLabel12.setText("Follower");
289 jLabel13.setText("更新回数");
291 updateLabel.setText("0");
293 jScrollPane6.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
295 userIntroBox.setContentType("text/html");
296 userIntroBox.setEditable(false);
297 userIntroBox.setMinimumSize(new java.awt.Dimension(120, 20));
298 jScrollPane6.setViewportView(userIntroBox);
300 jScrollPane7.setBorder(null);
301 jScrollPane7.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
302 jScrollPane7.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
304 userWebBox.setBorder(null);
305 userWebBox.setContentType("text/html");
306 userWebBox.setEditable(false);
307 userWebBox.setEditable(false);
308 userWebBox.addHyperlinkListener(new TweetHyperlinkHandler());
311 HTMLDocument doc = (HTMLDocument) userWebBox.getDocument();
312 StyleSheet[] style = doc.getStyleSheet().getStyleSheets();
313 for (int i = style.length - 1; i >= 0; i--) {
314 Style body = style[i].getStyle("body");
316 // TODO: change default font size
317 StyleConstants.setFontSize(body, 13);
320 } catch (Exception e) {
323 jScrollPane7.setViewportView(userWebBox);
325 jScrollPane8.setBorder(null);
326 jScrollPane8.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
327 jScrollPane8.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
329 clientNameLabel.setBorder(null);
330 clientNameLabel.setContentType("text/html");
331 clientNameLabel.setEditable(false);
332 clientNameLabel.setEditable(false);
333 clientNameLabel.addHyperlinkListener(new TweetHyperlinkHandler());
336 HTMLDocument doc = (HTMLDocument) clientNameLabel.getDocument();
337 StyleSheet[] style = doc.getStyleSheet().getStyleSheets();
338 for (int i = style.length - 1; i >= 0; i--) {
339 Style body = style[i].getStyle("body");
341 // TODO: default font size
342 StyleConstants.setFontSize(body, 13);
345 } catch (Exception e) {
348 jScrollPane8.setViewportView(clientNameLabel);
350 javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
351 jPanel1.setLayout(jPanel1Layout);
352 jPanel1Layout.setHorizontalGroup(
353 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
354 .addGroup(jPanel1Layout.createSequentialGroup()
355 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
356 .addGroup(jPanel1Layout.createSequentialGroup()
357 .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE)
358 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
359 .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 189, javax.swing.GroupLayout.PREFERRED_SIZE))
360 .addGroup(jPanel1Layout.createSequentialGroup()
362 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
363 .addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
364 .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
365 .addComponent(jLabel3))
367 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
368 .addComponent(locationLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 183, javax.swing.GroupLayout.PREFERRED_SIZE)
369 .addComponent(userNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 183, javax.swing.GroupLayout.PREFERRED_SIZE)
370 .addComponent(updateTimeLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 183, javax.swing.GroupLayout.PREFERRED_SIZE))
371 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
372 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
373 .addComponent(jLabel13, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
374 .addComponent(jLabel12, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
375 .addComponent(jLabel9))
377 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
378 .addComponent(updateLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
379 .addComponent(followerLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 68, Short.MAX_VALUE)
380 .addComponent(followingLabel))))
381 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
382 .addComponent(jScrollPane6, javax.swing.GroupLayout.DEFAULT_SIZE, 293, Short.MAX_VALUE))
384 jPanel1Layout.setVerticalGroup(
385 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
386 .addGroup(jPanel1Layout.createSequentialGroup()
387 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
388 .addComponent(jScrollPane6)
389 .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
391 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
392 .addGroup(jPanel1Layout.createSequentialGroup()
393 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
394 .addComponent(jLabel3)
395 .addComponent(userNameLabel))
396 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
397 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
398 .addComponent(jLabel4)
399 .addComponent(updateTimeLabel))
400 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
401 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
402 .addComponent(jLabel5)
403 .addComponent(locationLabel)))
404 .addGroup(jPanel1Layout.createSequentialGroup()
405 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
406 .addComponent(jLabel9)
407 .addComponent(followingLabel))
408 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
409 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
410 .addComponent(jLabel12)
411 .addComponent(followerLabel))
412 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
413 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
414 .addComponent(jLabel13)
415 .addComponent(updateLabel))))
417 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
418 .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
419 .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))))
420 .addContainerGap(2, Short.MAX_VALUE))
423 jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder());
425 statusBar.setText("Status");
426 statusBar.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
427 public void propertyChange(java.beans.PropertyChangeEvent evt) {
428 statusBarPropertyChange(evt);
432 streamingLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
433 streamingLabel.setText("StreamingAPI停止中");
434 streamingLabel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
435 streamingLabel.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
437 javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
438 jPanel2.setLayout(jPanel2Layout);
439 jPanel2Layout.setHorizontalGroup(
440 jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
441 .addGroup(jPanel2Layout.createSequentialGroup()
442 .addComponent(statusBar, javax.swing.GroupLayout.DEFAULT_SIZE, 553, Short.MAX_VALUE)
443 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
444 .addComponent(streamingLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 156, javax.swing.GroupLayout.PREFERRED_SIZE))
446 jPanel2Layout.setVerticalGroup(
447 jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
448 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
449 .addComponent(statusBar, javax.swing.GroupLayout.DEFAULT_SIZE, 20, Short.MAX_VALUE)
450 .addComponent(streamingLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 20, Short.MAX_VALUE))
453 jToolBar1.setRollover(true);
455 jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/toolbarButtonGraphics/general/Refresh24.gif"))); // NOI18N
456 jButton1.setToolTipText("今すぐ更新");
457 jButton1.setFocusable(false);
458 jButton1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
459 jButton1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
460 jButton1.addActionListener(new java.awt.event.ActionListener() {
461 public void actionPerformed(java.awt.event.ActionEvent evt) {
462 jButton1ActionPerformed(evt);
465 jToolBar1.add(jButton1);
466 jToolBar1.add(jSeparator1);
468 jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/toolbarButtonGraphics/general/Find24.gif"))); // NOI18N
469 jButton2.setFocusable(false);
470 jButton2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
471 jButton2.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
472 jButton2.addActionListener(new java.awt.event.ActionListener() {
473 public void actionPerformed(java.awt.event.ActionEvent evt) {
474 jButton2ActionPerformed(evt);
477 jToolBar1.add(jButton2);
478 jToolBar1.add(jSeparator2);
480 jToggleButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resource/syousai.PNG"))); // NOI18N
481 jToggleButton1.setSelected(true);
482 jToggleButton1.setFocusable(false);
483 jToggleButton1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
484 jToggleButton1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
485 jToggleButton1.addActionListener(new java.awt.event.ActionListener() {
486 public void actionPerformed(java.awt.event.ActionEvent evt) {
487 jToggleButton1ActionPerformed(evt);
490 jToolBar1.add(jToggleButton1);
492 jToggleButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resource/write.PNG"))); // NOI18N
493 jToggleButton2.setSelected(true);
494 jToggleButton2.setFocusable(false);
495 jToggleButton2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
496 jToggleButton2.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
497 jToggleButton2.addActionListener(new java.awt.event.ActionListener() {
498 public void actionPerformed(java.awt.event.ActionEvent evt) {
499 jToggleButton2ActionPerformed(evt);
502 jToolBar1.add(jToggleButton2);
503 jToolBar1.add(jSeparator3);
505 jToggleButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resource/timeline.PNG"))); // NOI18N
506 jToggleButton3.setSelected(true);
507 jToggleButton3.setFocusable(false);
508 jToggleButton3.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
509 jToggleButton3.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
510 jToggleButton3.addActionListener(new java.awt.event.ActionListener() {
511 public void actionPerformed(java.awt.event.ActionEvent evt) {
512 jToggleButton3ActionPerformed(evt);
515 jToolBar1.add(jToggleButton3);
517 jToggleButton4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resource/mention.PNG"))); // NOI18N
518 jToggleButton4.setFocusable(false);
519 jToggleButton4.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
520 jToggleButton4.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
521 jToggleButton4.addActionListener(new java.awt.event.ActionListener() {
522 public void actionPerformed(java.awt.event.ActionEvent evt) {
523 jToggleButton4ActionPerformed(evt);
526 jToolBar1.add(jToggleButton4);
528 jToggleButton5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resource/directmessage.PNG"))); // NOI18N
529 jToggleButton5.setFocusable(false);
530 jToggleButton5.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
531 jToggleButton5.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
532 jToggleButton5.addActionListener(new java.awt.event.ActionListener() {
533 public void actionPerformed(java.awt.event.ActionEvent evt) {
534 jToggleButton5ActionPerformed(evt);
537 jToolBar1.add(jToggleButton5);
539 jToggleButton6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resource/sendMessage.PNG"))); // NOI18N
540 jToggleButton6.setFocusable(false);
541 jToggleButton6.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
542 jToggleButton6.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
543 jToggleButton6.addActionListener(new java.awt.event.ActionListener() {
544 public void actionPerformed(java.awt.event.ActionEvent evt) {
545 jToggleButton6ActionPerformed(evt);
548 jToolBar1.add(jToggleButton6);
550 jScrollPane9.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
551 jScrollPane9.setMaximumSize(new java.awt.Dimension(32767, 80));
552 jScrollPane9.setMinimumSize(new java.awt.Dimension(26, 80));
554 jTextPane.setMaximumSize(new java.awt.Dimension(2147483647, 20));
555 jTextPane.addCaretListener(new javax.swing.event.CaretListener() {
556 public void caretUpdate(javax.swing.event.CaretEvent evt) {
557 jTextPaneCaretUpdate(evt);
560 jTextPane.addFocusListener(new java.awt.event.FocusAdapter() {
561 public void focusGained(java.awt.event.FocusEvent evt) {
562 jTextPaneFocusGained(evt);
564 public void focusLost(java.awt.event.FocusEvent evt) {
565 jTextPaneFocusLost(evt);
568 jTextPane.addKeyListener(new java.awt.event.KeyAdapter() {
569 public void keyReleased(java.awt.event.KeyEvent evt) {
570 jTextPaneKeyReleased(evt);
573 jScrollPane9.setViewportView(jTextPane);
575 jButton4.setText("つぶやく");
576 jButton4.addActionListener(new java.awt.event.ActionListener() {
577 public void actionPerformed(java.awt.event.ActionEvent evt) {
578 jButton4ActionPerformed(evt);
582 tweetLengthLabel.setText("140");
584 jLabel15.setText("残り文字数");
586 javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
587 jPanel3.setLayout(jPanel3Layout);
588 jPanel3Layout.setHorizontalGroup(
589 jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
590 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
591 .addComponent(jScrollPane9, javax.swing.GroupLayout.DEFAULT_SIZE, 528, Short.MAX_VALUE)
592 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
593 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
594 .addComponent(jLabel15)
595 .addComponent(tweetLengthLabel))
596 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
597 .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE)
600 jPanel3Layout.setVerticalGroup(
601 jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
602 .addGroup(jPanel3Layout.createSequentialGroup()
603 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
604 .addComponent(jButton4, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 32, Short.MAX_VALUE)
605 .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel3Layout.createSequentialGroup()
606 .addComponent(jLabel15)
607 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
608 .addComponent(tweetLengthLabel)))
610 .addGroup(jPanel3Layout.createSequentialGroup()
611 .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
612 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
615 userImageLabel.setBackground(java.awt.Color.black);
616 userImageLabel.setOpaque(true);
618 jScrollPane5.setHorizontalScrollBar(null);
620 tweetMessageBox.setContentType("text/html");
621 tweetMessageBox.setEditable(false);
622 tweetMessageBox.addComponentListener(new java.awt.event.ComponentAdapter() {
623 public void componentResized(java.awt.event.ComponentEvent evt) {
624 tweetMessageBoxComponentResized(evt);
627 tweetMessageBox.addHyperlinkListener(hashTagHyperlinkListener);
628 jScrollPane5.setViewportView(tweetMessageBox);
630 javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
631 jPanel4.setLayout(jPanel4Layout);
632 jPanel4Layout.setHorizontalGroup(
633 jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
634 .addGroup(jPanel4Layout.createSequentialGroup()
635 .addComponent(userImageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
636 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
637 .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 667, Short.MAX_VALUE))
639 jPanel4Layout.setVerticalGroup(
640 jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
641 .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 58, Short.MAX_VALUE)
642 .addComponent(userImageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
645 jMenu1.setMnemonic('F');
647 org.openide.awt.Mnemonics.setLocalizedText(jMenu1, "ファイル(F)");
649 jMenu1.setText("ファイル(F)");
651 jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Q, java.awt.event.InputEvent.CTRL_MASK));
652 jMenuItem1.setMnemonic('X');
653 jMenuItem1.setText("終了(X)");
654 jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
655 public void actionPerformed(java.awt.event.ActionEvent evt) {
656 jMenuItem1ActionPerformed(evt);
659 jMenu1.add(jMenuItem1);
661 jMenuBar1.add(jMenu1);
663 jMenu6.setMnemonic('O');
664 jMenu6.setText("操作(O)");
666 jMenuItem10.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F5, 0));
667 jMenuItem10.setMnemonic('U');
668 jMenuItem10.setText("今すぐ更新(U)");
669 jMenuItem10.addActionListener(new java.awt.event.ActionListener() {
670 public void actionPerformed(java.awt.event.ActionEvent evt) {
671 jMenuItem10ActionPerformed(evt);
674 jMenu6.add(jMenuItem10);
676 jMenuItem7.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F5, java.awt.event.InputEvent.CTRL_MASK));
677 jMenuItem7.setMnemonic('A');
678 jMenuItem7.setText("すべての情報を今すぐ更新(A)");
679 jMenuItem7.addActionListener(new java.awt.event.ActionListener() {
680 public void actionPerformed(java.awt.event.ActionEvent evt) {
681 jMenuItem7ActionPerformed(evt);
684 jMenu6.add(jMenuItem7);
686 jMenuItem8.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F5, java.awt.event.InputEvent.ALT_MASK));
687 jMenuItem8.setMnemonic('I');
688 jMenuItem8.setText("時間情報を更新(I)");
689 jMenuItem8.addActionListener(new java.awt.event.ActionListener() {
690 public void actionPerformed(java.awt.event.ActionEvent evt) {
691 jMenuItem8ActionPerformed(evt);
694 jMenu6.add(jMenuItem8);
695 jMenu6.add(jSeparator4);
697 jMenuItem11.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.CTRL_MASK));
698 jMenuItem11.setMnemonic('R');
699 jMenuItem11.setText("発言に返信(Reply)");
700 jMenuItem11.addActionListener(new java.awt.event.ActionListener() {
701 public void actionPerformed(java.awt.event.ActionEvent evt) {
702 jMenuItem11ActionPerformed(evt);
705 jMenu6.add(jMenuItem11);
707 jMenuItem12.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
708 jMenuItem12.setMnemonic('A');
709 jMenuItem12.setText("発言に返信(Reply All)");
710 jMenuItem12.addActionListener(new java.awt.event.ActionListener() {
711 public void actionPerformed(java.awt.event.ActionEvent evt) {
712 jMenuItem12ActionPerformed(evt);
715 jMenu6.add(jMenuItem12);
717 jMenuItem13.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_T, java.awt.event.InputEvent.CTRL_MASK));
718 jMenuItem13.setMnemonic('T');
719 jMenuItem13.setText("発言を公式リツイート(RT)");
720 jMenuItem13.addActionListener(new java.awt.event.ActionListener() {
721 public void actionPerformed(java.awt.event.ActionEvent evt) {
722 jMenuItem13ActionPerformed(evt);
725 jMenu6.add(jMenuItem13);
727 jMenuItem15.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_T, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
728 jMenuItem15.setText("発言をコメント付リツイート(非公式RT)");
729 jMenuItem15.addActionListener(new java.awt.event.ActionListener() {
730 public void actionPerformed(java.awt.event.ActionEvent evt) {
731 jMenuItem15ActionPerformed(evt);
734 jMenu6.add(jMenuItem15);
736 jMenuItem14.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Q, java.awt.event.InputEvent.CTRL_MASK));
737 jMenuItem14.setMnemonic('Q');
738 jMenuItem14.setText("発言を引用ツイート(QT)");
739 jMenuItem14.addActionListener(new java.awt.event.ActionListener() {
740 public void actionPerformed(java.awt.event.ActionEvent evt) {
741 jMenuItem14ActionPerformed(evt);
744 jMenu6.add(jMenuItem14);
746 jMenuItem16.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_D, java.awt.event.InputEvent.CTRL_MASK));
747 jMenuItem16.setMnemonic('D');
748 jMenuItem16.setText("ダイレクトメッセージを送信(D)");
749 jMenuItem16.addActionListener(new java.awt.event.ActionListener() {
750 public void actionPerformed(java.awt.event.ActionEvent evt) {
751 jMenuItem16ActionPerformed(evt);
754 jMenu6.add(jMenuItem16);
755 jMenu6.add(jSeparator5);
757 jMenuItem17.setText("選択した発言をブラウザで開く");
758 jMenuItem17.addActionListener(new java.awt.event.ActionListener() {
759 public void actionPerformed(java.awt.event.ActionEvent evt) {
760 jMenuItem17ActionPerformed(evt);
763 jMenu6.add(jMenuItem17);
765 jMenuItem18.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
766 jMenuItem18.setMnemonic('S');
767 jMenuItem18.setText("選択したユーザの発言を別タブで開く(S)");
768 jMenuItem18.addActionListener(new java.awt.event.ActionListener() {
769 public void actionPerformed(java.awt.event.ActionEvent evt) {
770 jMenuItem18ActionPerformed(evt);
773 jMenu6.add(jMenuItem18);
775 jMenuItem21.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_B, java.awt.event.InputEvent.CTRL_MASK));
776 jMenuItem21.setMnemonic('B');
777 jMenuItem21.setText("選択したユーザの発言をブラウザで開く(B)");
778 jMenuItem21.addActionListener(new java.awt.event.ActionListener() {
779 public void actionPerformed(java.awt.event.ActionEvent evt) {
780 jMenuItem21ActionPerformed(evt);
783 jMenu6.add(jMenuItem21);
785 jMenuItem35.setText("選択したユーザがフォローしているユーザ一覧を開く");
786 jMenuItem35.addActionListener(new java.awt.event.ActionListener() {
787 public void actionPerformed(java.awt.event.ActionEvent evt) {
788 jMenuItem35ActionPerformed(evt);
791 jMenu6.add(jMenuItem35);
793 jMenuItem36.setText("選択したユーザがフォローされているユーザ一覧を開く");
794 jMenuItem36.addActionListener(new java.awt.event.ActionListener() {
795 public void actionPerformed(java.awt.event.ActionEvent evt) {
796 jMenuItem36ActionPerformed(evt);
799 jMenu6.add(jMenuItem36);
800 jMenu6.add(jSeparator6);
802 jMenuItem30.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
803 jMenuItem30.setText("自分のお気に入りを開く");
804 jMenuItem30.addActionListener(new java.awt.event.ActionListener() {
805 public void actionPerformed(java.awt.event.ActionEvent evt) {
806 jMenuItem30ActionPerformed(evt);
809 jMenu6.add(jMenuItem30);
811 jMenuItem22.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.ALT_MASK));
812 jMenuItem22.setText("選択したユーザのお気に入りを開く");
813 jMenuItem22.addActionListener(new java.awt.event.ActionListener() {
814 public void actionPerformed(java.awt.event.ActionEvent evt) {
815 jMenuItem22ActionPerformed(evt);
818 jMenu6.add(jMenuItem22);
820 jMenuItem19.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
821 jMenuItem19.setMnemonic('F');
822 jMenuItem19.setText("選択した発言をお気に入りに追加(F)");
823 jMenuItem19.addActionListener(new java.awt.event.ActionListener() {
824 public void actionPerformed(java.awt.event.ActionEvent evt) {
825 jMenuItem19ActionPerformed(evt);
828 jMenu6.add(jMenuItem19);
830 jMenuItem20.setText("選択した発言をお気に入りから削除");
831 jMenuItem20.addActionListener(new java.awt.event.ActionListener() {
832 public void actionPerformed(java.awt.event.ActionEvent evt) {
833 jMenuItem20ActionPerformed(evt);
836 jMenu6.add(jMenuItem20);
838 jMenuItem33.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
839 jMenuItem33.setMnemonic('C');
840 jMenuItem33.setText("つぶやき内のURLをbit.ly短縮URLに変換(C)");
841 jMenuItem33.addActionListener(new java.awt.event.ActionListener() {
842 public void actionPerformed(java.awt.event.ActionEvent evt) {
843 jMenuItem33ActionPerformed(evt);
846 jMenu6.add(jMenuItem33);
848 jMenuBar1.add(jMenu6);
850 jMenu4.setMnemonic('V');
851 jMenu4.setText("表示(V)");
853 jMenuItem5.setMnemonic('D');
854 jMenuItem5.setText("選択しているタブを削除(D)");
855 jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
856 public void actionPerformed(java.awt.event.ActionEvent evt) {
857 jMenuItem5ActionPerformed(evt);
860 jMenu4.add(jMenuItem5);
862 jCheckBoxMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_I, java.awt.event.InputEvent.CTRL_MASK));
863 jCheckBoxMenuItem1.setMnemonic('I');
864 jCheckBoxMenuItem1.setSelected(true);
865 jCheckBoxMenuItem1.setText("詳細情報ボタンの表示(I)");
866 jCheckBoxMenuItem1.addActionListener(new java.awt.event.ActionListener() {
867 public void actionPerformed(java.awt.event.ActionEvent evt) {
868 jCheckBoxMenuItem1ActionPerformed(evt);
871 jMenu4.add(jCheckBoxMenuItem1);
873 jCheckBoxMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_W, java.awt.event.InputEvent.CTRL_MASK));
874 jCheckBoxMenuItem2.setMnemonic('W');
875 jCheckBoxMenuItem2.setSelected(true);
876 jCheckBoxMenuItem2.setText("書き込みボタンの表示(W)");
877 jCheckBoxMenuItem2.addActionListener(new java.awt.event.ActionListener() {
878 public void actionPerformed(java.awt.event.ActionEvent evt) {
879 jCheckBoxMenuItem2ActionPerformed(evt);
882 jMenu4.add(jCheckBoxMenuItem2);
884 jCheckBoxMenuItem3.setSelected(true);
885 jCheckBoxMenuItem3.setText("Timelineタブを表示");
886 jCheckBoxMenuItem3.addActionListener(new java.awt.event.ActionListener() {
887 public void actionPerformed(java.awt.event.ActionEvent evt) {
888 jCheckBoxMenuItem3ActionPerformed(evt);
891 jMenu4.add(jCheckBoxMenuItem3);
893 jCheckBoxMenuItem4.setSelected(true);
894 jCheckBoxMenuItem4.setText("Mentionタブを表示");
895 jCheckBoxMenuItem4.addActionListener(new java.awt.event.ActionListener() {
896 public void actionPerformed(java.awt.event.ActionEvent evt) {
897 jCheckBoxMenuItem4ActionPerformed(evt);
900 jMenu4.add(jCheckBoxMenuItem4);
902 jCheckBoxMenuItem5.setSelected(true);
903 jCheckBoxMenuItem5.setText("ダイレクトメッセージタブを表示");
904 jCheckBoxMenuItem5.addActionListener(new java.awt.event.ActionListener() {
905 public void actionPerformed(java.awt.event.ActionEvent evt) {
906 jCheckBoxMenuItem5ActionPerformed(evt);
909 jMenu4.add(jCheckBoxMenuItem5);
911 jCheckBoxMenuItem6.setSelected(true);
912 jCheckBoxMenuItem6.setText("送信済みメッセージタブの表示");
913 jCheckBoxMenuItem6.addActionListener(new java.awt.event.ActionListener() {
914 public void actionPerformed(java.awt.event.ActionEvent evt) {
915 jCheckBoxMenuItem6ActionPerformed(evt);
918 jMenu4.add(jCheckBoxMenuItem6);
920 jMenuItem9.setText("Debug");
921 jMenuItem9.addActionListener(new java.awt.event.ActionListener() {
922 public void actionPerformed(java.awt.event.ActionEvent evt) {
923 jMenuItem9ActionPerformed(evt);
926 jMenu4.add(jMenuItem9);
928 jMenuBar1.add(jMenu4);
930 jMenu5.setMnemonic('S');
931 jMenu5.setText("検索(S)");
933 jMenuItem6.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F, java.awt.event.InputEvent.CTRL_MASK));
934 jMenuItem6.setMnemonic('A');
935 jMenuItem6.setText("キーワードでTwitter全体を検索(A)");
936 jMenuItem6.addActionListener(new java.awt.event.ActionListener() {
937 public void actionPerformed(java.awt.event.ActionEvent evt) {
938 jMenuItem6ActionPerformed(evt);
941 jMenu5.add(jMenuItem6);
943 jMenuItem23.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_H, java.awt.event.InputEvent.CTRL_MASK));
944 jMenuItem23.setMnemonic('K');
945 jMenuItem23.setText("キーワードに関連するハッシュタグを検索(K)");
946 jMenuItem23.addActionListener(new java.awt.event.ActionListener() {
947 public void actionPerformed(java.awt.event.ActionEvent evt) {
948 jMenuItem23ActionPerformed(evt);
951 jMenu5.add(jMenuItem23);
953 jMenuItem31.setMnemonic('U');
954 jMenuItem31.setText("指定したユーザを検索(U)");
955 jMenuItem31.addActionListener(new java.awt.event.ActionListener() {
956 public void actionPerformed(java.awt.event.ActionEvent evt) {
957 jMenuItem31ActionPerformed(evt);
960 jMenu5.add(jMenuItem31);
962 jMenuItem34.setText("指定したユーザのFollowing/Followerを表示");
963 jMenuItem34.addActionListener(new java.awt.event.ActionListener() {
964 public void actionPerformed(java.awt.event.ActionEvent evt) {
965 jMenuItem34ActionPerformed(evt);
968 jMenu5.add(jMenuItem34);
970 jMenuBar1.add(jMenu5);
972 jMenu7.setMnemonic('L');
973 jMenu7.setText("リスト(L)");
975 jMenuItem25.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.CTRL_MASK));
976 jMenuItem25.setMnemonic('C');
977 jMenuItem25.setText("自分が作成したリスト一覧(C)");
978 jMenuItem25.addActionListener(new java.awt.event.ActionListener() {
979 public void actionPerformed(java.awt.event.ActionEvent evt) {
980 jMenuItem25ActionPerformed(evt);
983 jMenu7.add(jMenuItem25);
985 jMenuItem24.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.ALT_MASK));
986 jMenuItem24.setMnemonic('S');
987 jMenuItem24.setText("購読しているリスト一覧(S)");
988 jMenuItem24.addActionListener(new java.awt.event.ActionListener() {
989 public void actionPerformed(java.awt.event.ActionEvent evt) {
990 jMenuItem24ActionPerformed(evt);
993 jMenu7.add(jMenuItem24);
995 jMenuItem26.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
996 jMenuItem26.setMnemonic('F');
997 jMenuItem26.setText("自分がフォローされているリスト一覧(F)");
998 jMenuItem26.addActionListener(new java.awt.event.ActionListener() {
999 public void actionPerformed(java.awt.event.ActionEvent evt) {
1000 jMenuItem26ActionPerformed(evt);
1003 jMenu7.add(jMenuItem26);
1004 jMenu7.add(jSeparator7);
1006 jMenuItem27.setText("選択したユーザが作成したリスト一覧");
1007 jMenuItem27.addActionListener(new java.awt.event.ActionListener() {
1008 public void actionPerformed(java.awt.event.ActionEvent evt) {
1009 jMenuItem27ActionPerformed(evt);
1012 jMenu7.add(jMenuItem27);
1014 jMenuItem28.setText("選択したユーザが購読しているリスト一覧");
1015 jMenuItem28.addActionListener(new java.awt.event.ActionListener() {
1016 public void actionPerformed(java.awt.event.ActionEvent evt) {
1017 jMenuItem28ActionPerformed(evt);
1020 jMenu7.add(jMenuItem28);
1022 jMenuItem29.setText("選択したユーザがフォローされているリスト一覧");
1023 jMenuItem29.addActionListener(new java.awt.event.ActionListener() {
1024 public void actionPerformed(java.awt.event.ActionEvent evt) {
1025 jMenuItem29ActionPerformed(evt);
1028 jMenu7.add(jMenuItem29);
1030 jMenuBar1.add(jMenu7);
1032 jMenu2.setMnemonic('O');
1033 jMenu2.setText("設定(O)");
1035 jMenuItem2.setText("基本設定");
1036 jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
1037 public void actionPerformed(java.awt.event.ActionEvent evt) {
1038 jMenuItem2ActionPerformed(evt);
1041 jMenu2.add(jMenuItem2);
1043 jMenuItem4.setText("アカウント設定");
1044 jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
1045 public void actionPerformed(java.awt.event.ActionEvent evt) {
1046 jMenuItem4ActionPerformed(evt);
1049 jMenu2.add(jMenuItem4);
1051 jMenuBar1.add(jMenu2);
1053 jMenu8.setMnemonic('M');
1054 jMenu8.setText("ログ管理(M)");
1056 logSaveCheckItem.setSelected(true);
1057 logSaveCheckItem.setText("タイムラインをログとして保存する");
1058 logSaveCheckItem.addActionListener(new java.awt.event.ActionListener() {
1059 public void actionPerformed(java.awt.event.ActionEvent evt) {
1060 logSaveCheckItemActionPerformed(evt);
1063 jMenu8.add(logSaveCheckItem);
1065 jMenuItem32.setText("ログをCSV形式として保存");
1066 jMenuItem32.addActionListener(new java.awt.event.ActionListener() {
1067 public void actionPerformed(java.awt.event.ActionEvent evt) {
1068 jMenuItem32ActionPerformed(evt);
1071 jMenu8.add(jMenuItem32);
1073 jMenuBar1.add(jMenu8);
1075 jMenu9.setText("ストリーミング");
1077 isUsingStreamingMenuItem.setSelected(true);
1078 isUsingStreamingMenuItem.setText("ストリーミングAPIを利用する");
1079 isUsingStreamingMenuItem.addActionListener(new java.awt.event.ActionListener() {
1080 public void actionPerformed(java.awt.event.ActionEvent evt) {
1081 isUsingStreamingMenuItemActionPerformed(evt);
1084 jMenu9.add(isUsingStreamingMenuItem);
1086 jMenuBar1.add(jMenu9);
1088 jMenu3.setMnemonic('H');
1089 jMenu3.setText("ヘルプ(H)");
1091 jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F1, 0));
1092 jMenuItem3.setText("このプログラムについて");
1093 jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
1094 public void actionPerformed(java.awt.event.ActionEvent evt) {
1095 jMenuItem3ActionPerformed(evt);
1098 jMenu3.add(jMenuItem3);
1100 jMenuBar1.add(jMenu3);
1102 setJMenuBar(jMenuBar1);
1104 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
1105 getContentPane().setLayout(layout);
1106 layout.setHorizontalGroup(
1107 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1108 .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1109 .addComponent(jPanel4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1110 .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 720, Short.MAX_VALUE)
1111 .addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 720, Short.MAX_VALUE)
1112 .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1113 .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1115 layout.setVerticalGroup(
1116 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1117 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
1118 .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 434, Short.MAX_VALUE)
1120 .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
1122 .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)
1123 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1124 .addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
1126 .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)
1128 .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
1132 }// </editor-fold>//GEN-END:initComponents
1134 private void jMenuItem31ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem31ActionPerformed
1135 mainAction.actionShowUserSearchDialog();
1136 }//GEN-LAST:event_jMenuItem31ActionPerformed
1138 private void jMenuItem32ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem32ActionPerformed
1139 mainAction.actionShowOutputCSVLogDialog();
1140 }//GEN-LAST:event_jMenuItem32ActionPerformed
1142 private void jMenuItem33ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem33ActionPerformed
1143 mainAction.actionConvertTweetBoxURLToBitly();
1144 }//GEN-LAST:event_jMenuItem33ActionPerformed
1146 private void jMenuItem34ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem34ActionPerformed
1147 mainAction.actionShowFollowingFollowerDialog();
1148 }//GEN-LAST:event_jMenuItem34ActionPerformed
1150 private void jMenuItem35ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem35ActionPerformed
1151 mainAction.actionOpenFollowing();
1152 }//GEN-LAST:event_jMenuItem35ActionPerformed
1154 private void jMenuItem36ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem36ActionPerformed
1155 mainAction.actionOpenFollower();
1156 }//GEN-LAST:event_jMenuItem36ActionPerformed
1158 private void logSaveCheckItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_logSaveCheckItemActionPerformed
1159 mainAction.setSaveLog(this.logSaveCheckItem.getState());
1161 mainAction.saveProperties();
1162 } catch (IOException ex) {
1163 Logger.getLogger(NishioTweetManager.class.getName()).log(Level.SEVERE, null, ex);
1165 }//GEN-LAST:event_logSaveCheckItemActionPerformed
1167 private void isUsingStreamingMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_isUsingStreamingMenuItemActionPerformed
1168 if( mainAction.isUsingStreaming() ) {
1169 mainAction.stopStreaming();
1171 mainAction.startStreaming();
1173 }//GEN-LAST:event_isUsingStreamingMenuItemActionPerformed
1175 private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton4ActionPerformed
1177 mainAction.actionTweet();
1179 }// GEN-LAST:event_jButton4ActionPerformed
1181 private void tweetMessageBoxComponentResized(
1182 java.awt.event.ComponentEvent evt) {// GEN-FIRST:event_tweetMessageBoxComponentResized
1183 }// GEN-LAST:event_tweetMessageBoxComponentResized
1185 private void jTextPaneKeyReleased(java.awt.event.KeyEvent evt) {// GEN-FIRST:event_jTextPaneKeyReleased
1187 mainAction.actionUpdateTweetMessageCount();
1188 }// GEN-LAST:event_jTextPaneKeyReleased
1190 private void jTextPaneFocusGained(java.awt.event.FocusEvent evt) {// GEN-FIRST:event_jTextPaneFocusGained
1192 }// GEN-LAST:event_jTextPaneFocusGained
1194 private void jTextPaneFocusLost(java.awt.event.FocusEvent evt) {// GEN-FIRST:event_jTextPaneFocusLost
1196 }// GEN-LAST:event_jTextPaneFocusLost
1198 private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem1ActionPerformed
1200 mainAction.actionExitButton(evt);
1201 }// GEN-LAST:event_jMenuItem1ActionPerformed
1203 private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem2ActionPerformed
1205 mainAction.actionBasicSettingDialog();
1206 }// GEN-LAST:event_jMenuItem2ActionPerformed
1208 private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem3ActionPerformed
1209 mainAction.actionShowAboutDialog();
1210 }// GEN-LAST:event_jMenuItem3ActionPerformed
1212 private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem4ActionPerformed
1213 mainAction.actionShowAccountDialog();
1214 }// GEN-LAST:event_jMenuItem4ActionPerformed
1216 private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem5ActionPerformed
1218 mainAction.actionRemoveFocusedTabbedTable();
1219 }// GEN-LAST:event_jMenuItem5ActionPerformed
1221 private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem6ActionPerformed
1222 this.mainAction.actionShowKeywordSearchDialog();
1223 }// GEN-LAST:event_jMenuItem6ActionPerformed
1225 private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem7ActionPerformed
1226 mainAction.actionUpdateButton(evt);
1227 // いますぐ更新ボタンを押したので,更新タイムを一度リセットする
1228 // mainAction.resetTweetAutoUpdate();
1229 }// GEN-LAST:event_jMenuItem7ActionPerformed
1231 private void jMenuItem8ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem8ActionPerformed
1233 mainAction.actionRefreshTime();
1234 }// GEN-LAST:event_jMenuItem8ActionPerformed
1236 private void jMenuItem9ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem9ActionPerformed
1238 }// GEN-LAST:event_jMenuItem9ActionPerformed
1240 private void jTextPaneCaretUpdate(javax.swing.event.CaretEvent evt) {// GEN-FIRST:event_jTextPaneCaretUpdate
1241 // TODO add your handling code here:
1242 }// GEN-LAST:event_jTextPaneCaretUpdate
1244 private void statusBarPropertyChange(java.beans.PropertyChangeEvent evt) {// GEN-FIRST:event_statusBarPropertyChange
1246 }// GEN-LAST:event_statusBarPropertyChange
1248 private void jMenuItem10ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem10ActionPerformed
1250 mainAction.actionFocusedTableUpdate();
1251 }// GEN-LAST:event_jMenuItem10ActionPerformed
1253 private void jCheckBoxMenuItem1ActionPerformed(
1254 java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jCheckBoxMenuItem1ActionPerformed
1256 mainAction.actionDetailInfoButton(evt);
1257 jCheckBoxMenuItem1.setSelected(mainAction.isDetailInfoPanelVisible());
1258 jToggleButton1.setSelected(mainAction.isDetailInfoPanelVisible());
1259 }// GEN-LAST:event_jCheckBoxMenuItem1ActionPerformed
1261 private void jCheckBoxMenuItem2ActionPerformed(
1262 java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jCheckBoxMenuItem2ActionPerformed
1264 mainAction.actionShowTweetboxButton(evt);
1268 jCheckBoxMenuItem2.setSelected(mainAction.isShowTweetBoxVisible());
1269 jToggleButton2.setSelected(mainAction.isShowTweetBoxVisible());
1270 }// GEN-LAST:event_jCheckBoxMenuItem2ActionPerformed
1272 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton1ActionPerformed
1273 jMenuItem10ActionPerformed(evt);
1274 }// GEN-LAST:event_jButton1ActionPerformed
1276 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton2ActionPerformed
1277 jMenuItem6ActionPerformed(evt);
1278 }// GEN-LAST:event_jButton2ActionPerformed
1280 private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jToggleButton1ActionPerformed
1281 jCheckBoxMenuItem1ActionPerformed(evt);
1282 }// GEN-LAST:event_jToggleButton1ActionPerformed
1284 private void jToggleButton2ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jToggleButton2ActionPerformed
1285 jCheckBoxMenuItem2ActionPerformed(evt);
1286 }// GEN-LAST:event_jToggleButton2ActionPerformed
1288 private void jCheckBoxMenuItem3ActionPerformed(
1289 java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jCheckBoxMenuItem3ActionPerformed
1290 if (mainAction.isExistTimelineTab()) {
1292 mainAction.actionRemoveTabbedTable(TimerID.createTimelineID());
1293 jCheckBoxMenuItem3.setSelected(false);
1294 jToggleButton3.setSelected(false);
1297 mainAction.actionAddTimelineTab(mainAction.getGetTimelinePeriod());
1298 jCheckBoxMenuItem3.setSelected(true);
1299 jToggleButton3.setSelected(true);
1301 }// GEN-LAST:event_jCheckBoxMenuItem3ActionPerformed
1303 private void jToggleButton3ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jToggleButton3ActionPerformed
1304 jCheckBoxMenuItem3ActionPerformed(evt);
1305 }// GEN-LAST:event_jToggleButton3ActionPerformed
1307 private void jTabbedPane1ComponentRemoved(java.awt.event.ContainerEvent evt) {// GEN-FIRST:event_jTabbedPane1ComponentRemoved
1309 }// GEN-LAST:event_jTabbedPane1ComponentRemoved
1311 private void jCheckBoxMenuItem4ActionPerformed(
1312 java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jCheckBoxMenuItem4ActionPerformed
1313 if (mainAction.isExistMentionTab()) {
1315 mainAction.actionRemoveTabbedTable(TimerID.createMentionID());
1316 jCheckBoxMenuItem4.setSelected(false);
1317 jToggleButton4.setSelected(false);
1320 mainAction.actionAddMentionTab(mainAction.getGetMentionPeriod());
1321 jCheckBoxMenuItem4.setSelected(true);
1322 jToggleButton4.setSelected(true);
1324 }// GEN-LAST:event_jCheckBoxMenuItem4ActionPerformed
1326 private void jCheckBoxMenuItem5ActionPerformed(
1327 java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jCheckBoxMenuItem5ActionPerformed
1328 if (mainAction.isExistDirectMessageTab()) {
1330 mainAction.actionRemoveTabbedTable(TimerID.createDirectMessageID());
1331 jCheckBoxMenuItem5.setSelected(false);
1332 jToggleButton5.setSelected(false);
1335 mainAction.actionAddDirectMessageTab(mainAction
1336 .getGetDirectMessagePeriod());
1337 jCheckBoxMenuItem5.setSelected(true);
1338 jToggleButton5.setSelected(true);
1340 }// GEN-LAST:event_jCheckBoxMenuItem5ActionPerformed
1342 private void jCheckBoxMenuItem6ActionPerformed(
1343 java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jCheckBoxMenuItem6ActionPerformed
1344 if (mainAction.isExistSendDirectMessageTab()) {
1346 mainAction.actionRemoveTabbedTable(TimerID
1347 .createSendDirectMessageID());
1348 jCheckBoxMenuItem6.setSelected(false);
1349 jToggleButton6.setSelected(false);
1352 mainAction.actionAddSendDirectMessageTab(mainAction
1353 .getGetSendDirectMessagePeriod());
1354 jCheckBoxMenuItem6.setSelected(true);
1355 jToggleButton6.setSelected(true);
1357 }// GEN-LAST:event_jCheckBoxMenuItem6ActionPerformed
1359 private void jToggleButton4ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jToggleButton4ActionPerformed
1360 jCheckBoxMenuItem4ActionPerformed(evt);
1361 }// GEN-LAST:event_jToggleButton4ActionPerformed
1363 private void jToggleButton5ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jToggleButton5ActionPerformed
1364 jCheckBoxMenuItem5ActionPerformed(evt);
1365 }// GEN-LAST:event_jToggleButton5ActionPerformed
1367 private void jToggleButton6ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jToggleButton6ActionPerformed
1368 jCheckBoxMenuItem6ActionPerformed(evt);
1369 }// GEN-LAST:event_jToggleButton6ActionPerformed
1371 private void jMenuItem11ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem11ActionPerformed
1373 this.mainAction.actionSetReplyStatusToTweetBoxPane();
1374 }// GEN-LAST:event_jMenuItem11ActionPerformed
1376 private void jMenuItem12ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem12ActionPerformed
1378 this.mainAction.actionSetReplyAllStatusToTweetBoxPane();
1379 }// GEN-LAST:event_jMenuItem12ActionPerformed
1381 private void jMenuItem13ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem13ActionPerformed
1383 this.mainAction.actionRetweet();
1384 }// GEN-LAST:event_jMenuItem13ActionPerformed
1386 private void jMenuItem15ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem15ActionPerformed
1387 this.mainAction.actionCopySelectedStatusToTweetBoxPane();
1388 }// GEN-LAST:event_jMenuItem15ActionPerformed
1390 private void jMenuItem14ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem14ActionPerformed
1391 this.mainAction.actionSetQuoteStatusToTweetBoxPane();
1392 }// GEN-LAST:event_jMenuItem14ActionPerformed
1394 private void jMenuItem16ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem16ActionPerformed
1395 this.mainAction.actionShowDirectMessageDialog();
1396 }// GEN-LAST:event_jMenuItem16ActionPerformed
1398 private void jMenuItem17ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem17ActionPerformed
1399 this.mainAction.actionOpenStatusURL();
1400 }// GEN-LAST:event_jMenuItem17ActionPerformed
1402 private void jMenuItem18ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem18ActionPerformed
1403 this.mainAction.actionSelectedUserTimeline();
1404 }// GEN-LAST:event_jMenuItem18ActionPerformed
1406 private void jMenuItem21ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem21ActionPerformed
1407 this.mainAction.actionOpenUserURL();
1408 }// GEN-LAST:event_jMenuItem21ActionPerformed
1410 private void jMenuItem22ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem22ActionPerformed
1411 this.mainAction.actionOpenUserFav();
1412 }// GEN-LAST:event_jMenuItem22ActionPerformed
1414 private void jMenuItem19ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem19ActionPerformed
1415 this.mainAction.actionCreateFavorite();
1416 }// GEN-LAST:event_jMenuItem19ActionPerformed
1418 private void jMenuItem20ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem20ActionPerformed
1419 this.mainAction.actionDestroyFavorite();
1420 }// GEN-LAST:event_jMenuItem20ActionPerformed
1422 private void jMenuItem23ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem23ActionPerformed
1423 this.mainAction.actionShowHashtagSearchDialog();
1424 }// GEN-LAST:event_jMenuItem23ActionPerformed
1426 private void jMenuItem25ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem25ActionPerformed
1427 this.mainAction.actionShowUserListDialog(mainAction.getScreenName(),
1428 ListGetterSelection.CREATED);
1429 }// GEN-LAST:event_jMenuItem25ActionPerformed
1431 private void jMenuItem24ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem24ActionPerformed
1432 this.mainAction.actionShowUserListDialog(mainAction.getScreenName(),
1433 ListGetterSelection.SUBSCRIPTION);
1434 }// GEN-LAST:event_jMenuItem24ActionPerformed
1436 private void jMenuItem26ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem26ActionPerformed
1437 this.mainAction.actionShowUserListDialog(mainAction.getScreenName(),
1438 ListGetterSelection.MEMBERSHIPS);
1439 }// GEN-LAST:event_jMenuItem26ActionPerformed
1441 private void jMenuItem27ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem27ActionPerformed
1442 this.mainAction.actionShowSelectedUserList(ListGetterSelection.CREATED);
1443 }// GEN-LAST:event_jMenuItem27ActionPerformed
1445 private void jMenuItem28ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem28ActionPerformed
1447 .actionShowSelectedUserList(ListGetterSelection.SUBSCRIPTION);
1448 }// GEN-LAST:event_jMenuItem28ActionPerformed
1450 private void jMenuItem29ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem29ActionPerformed
1452 .actionShowSelectedUserList(ListGetterSelection.MEMBERSHIPS);
1453 }// GEN-LAST:event_jMenuItem29ActionPerformed
1455 private void jMenuItem30ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem30ActionPerformed
1456 this.mainAction.actionOpenFav();
1457 }// GEN-LAST:event_jMenuItem30ActionPerformed
1462 private void updateLen() {
1464 mainAction.actionUpdateTweetMessageCount();
1469 * the command line arguments
1471 public static void main(String args[]) {
1472 java.awt.EventQueue.invokeLater(new Runnable() {
1478 UIManager.setLookAndFeel(UIManager
1479 .getSystemLookAndFeelClassName());
1481 } catch (Exception e) {
1482 e.printStackTrace();
1484 new NishioTweetManager().setVisible(true);
1492 private void init() {
1494 boolean login = false;
1496 tweetManager = new TweetManager();
1497 tweetManager.loginTwitter();
1499 } catch (Exception e) {
1500 e.printStackTrace();
1504 mainAction = new TweetMainAction(this, tweetManager, statusBar,
1505 jTextPane, jPanel3, tweetLengthLabel, jPanel1, jTabbedPane1,
1506 tweetMessageBox, userImageLabel, userNameLabel,
1507 updateTimeLabel, followerLabel, followingLabel, locationLabel,
1508 clientNameLabel, updateLabel, userIntroBox, userWebBox,
1509 jToggleButton3, jToggleButton4, jToggleButton5, jToggleButton6,
1510 jCheckBoxMenuItem3, jCheckBoxMenuItem4, jCheckBoxMenuItem5,
1511 jCheckBoxMenuItem6, trayIcon);
1512 // ハッシュタグ用のハイパーリンクリスナーにアクション登録
1513 this.hashTagHyperlinkListener.setMainAction(mainAction);
1514 // もしログインに失敗したら,アカウント設定画面を出す
1515 if (login == false) {
1516 mainAction.actionShowAccountDialog();
1521 boolean isNoTab = true;
1522 // TL, Mention, DMのタブなどを表示するかしないかの設定を読み込んで反映するようにする
1523 if( this.mainAction.isTempOpenedTimelineTab() ) {
1524 this.mainAction.actionAddTimelineTab(this.mainAction
1525 .getGetTimelinePeriod());
1528 if( this.mainAction.isTempOpenedMentionTab() ) {
1529 this.mainAction.actionAddMentionTab(this.mainAction
1530 .getGetMentionPeriod());
1533 if( this.mainAction.isTempOpenedDMTab() ) {
1534 this.mainAction.actionAddDirectMessageTab(this.mainAction
1535 .getGetDirectMessagePeriod());
1538 if( this.mainAction.isTempOpenedSendDMTab() ) {
1539 this.mainAction.actionAddSendDirectMessageTab(
1540 this.mainAction.getGetSendDirectMessagePeriod() );
1545 if( isNoTab == true ) {
1547 this.mainAction.actionAddTimelineTab(this.mainAction
1548 .getGetTimelinePeriod());
1550 // フォーカスを一番初めのテーブルに移す
1551 this.mainAction.actionRequestFocusToTab(0);
1554 ClientVersionManager version = ClientVersionManager.getInstance();
1555 VersionInfo latest = version.getLatestVersionInfo();
1556 if( latest != null && !latest.getVersion().equals( version.getCurrentversion() )) {
1557 if( this.mainAction.isUpdateNotify() ) {
1558 //最新クライアント情報を通知するかどうか
1559 this.mainAction.actionShowUpdateDialog();
1562 }catch(Exception e) {
1563 e.printStackTrace();
1566 //Streaming APIを利用しているかどうかを表示
1567 this.tweetManager.getStreamManager().addCollectionLifeCycleListener(this);
1568 //streaming利用時はstreamingを開始する
1569 if( this.mainAction.isUsingStreaming() ) {
1570 this.mainAction.startStreaming();
1575 * チェックボックスすべてのチェック状態を更新
1577 public void updateSelectedInformation() {
1580 jCheckBoxMenuItem1.setSelected(mainAction.isDetailInfoPanelVisible());
1581 jToggleButton1.setSelected(mainAction.isDetailInfoPanelVisible());
1583 jCheckBoxMenuItem2.setSelected(mainAction.isShowTweetBoxVisible());
1584 jToggleButton2.setSelected(mainAction.isShowTweetBoxVisible());
1586 logSaveCheckItem.setSelected(mainAction.isSaveLog());
1588 mainAction.updateCheckboxInformation();
1589 //streaming apiを利用するかどうか
1590 isUsingStreamingMenuItem.setSelected(mainAction.isUsingStreaming());
1596 public void onConnect() {
1597 streamingLabel.setText("StreamingAPI開始");
1601 * streaming api接続解除時
1603 public void onDisconnect() {
1604 streamingLabel.setText("StreamingAPI停止中");
1608 * streaming apiクリーンアップ時
1610 public void onCleanUp() {
1614 // nishio tweet manager
1615 private JPopupMenu rightClickPopup = null;
1616 private TweetMainAction mainAction = null;
1618 private TweetManager tweetManager = null;
1619 // Variables declaration - do not modify//GEN-BEGIN:variables
1620 private javax.swing.JEditorPane clientNameLabel;
1621 private javax.swing.JLabel followerLabel;
1622 private javax.swing.JLabel followingLabel;
1623 private javax.swing.JCheckBoxMenuItem isUsingStreamingMenuItem;
1624 private javax.swing.JButton jButton1;
1625 private javax.swing.JButton jButton2;
1626 private javax.swing.JButton jButton4;
1627 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem1;
1628 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem2;
1629 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem3;
1630 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem4;
1631 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem5;
1632 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem6;
1633 private javax.swing.JLabel jLabel12;
1634 private javax.swing.JLabel jLabel13;
1635 private javax.swing.JLabel jLabel15;
1636 private javax.swing.JLabel jLabel3;
1637 private javax.swing.JLabel jLabel4;
1638 private javax.swing.JLabel jLabel5;
1639 private javax.swing.JLabel jLabel9;
1640 private javax.swing.JMenu jMenu1;
1641 private javax.swing.JMenu jMenu2;
1642 private javax.swing.JMenu jMenu3;
1643 private javax.swing.JMenu jMenu4;
1644 private javax.swing.JMenu jMenu5;
1645 private javax.swing.JMenu jMenu6;
1646 private javax.swing.JMenu jMenu7;
1647 private javax.swing.JMenu jMenu8;
1648 private javax.swing.JMenu jMenu9;
1649 private javax.swing.JMenuBar jMenuBar1;
1650 private javax.swing.JMenuItem jMenuItem1;
1651 private javax.swing.JMenuItem jMenuItem10;
1652 private javax.swing.JMenuItem jMenuItem11;
1653 private javax.swing.JMenuItem jMenuItem12;
1654 private javax.swing.JMenuItem jMenuItem13;
1655 private javax.swing.JMenuItem jMenuItem14;
1656 private javax.swing.JMenuItem jMenuItem15;
1657 private javax.swing.JMenuItem jMenuItem16;
1658 private javax.swing.JMenuItem jMenuItem17;
1659 private javax.swing.JMenuItem jMenuItem18;
1660 private javax.swing.JMenuItem jMenuItem19;
1661 private javax.swing.JMenuItem jMenuItem2;
1662 private javax.swing.JMenuItem jMenuItem20;
1663 private javax.swing.JMenuItem jMenuItem21;
1664 private javax.swing.JMenuItem jMenuItem22;
1665 private javax.swing.JMenuItem jMenuItem23;
1666 private javax.swing.JMenuItem jMenuItem24;
1667 private javax.swing.JMenuItem jMenuItem25;
1668 private javax.swing.JMenuItem jMenuItem26;
1669 private javax.swing.JMenuItem jMenuItem27;
1670 private javax.swing.JMenuItem jMenuItem28;
1671 private javax.swing.JMenuItem jMenuItem29;
1672 private javax.swing.JMenuItem jMenuItem3;
1673 private javax.swing.JMenuItem jMenuItem30;
1674 private javax.swing.JMenuItem jMenuItem31;
1675 private javax.swing.JMenuItem jMenuItem32;
1676 private javax.swing.JMenuItem jMenuItem33;
1677 private javax.swing.JMenuItem jMenuItem34;
1678 private javax.swing.JMenuItem jMenuItem35;
1679 private javax.swing.JMenuItem jMenuItem36;
1680 private javax.swing.JMenuItem jMenuItem4;
1681 private javax.swing.JMenuItem jMenuItem5;
1682 private javax.swing.JMenuItem jMenuItem6;
1683 private javax.swing.JMenuItem jMenuItem7;
1684 private javax.swing.JMenuItem jMenuItem8;
1685 private javax.swing.JMenuItem jMenuItem9;
1686 private javax.swing.JPanel jPanel1;
1687 private javax.swing.JPanel jPanel2;
1688 private javax.swing.JPanel jPanel3;
1689 private javax.swing.JPanel jPanel4;
1690 private javax.swing.JScrollPane jScrollPane5;
1691 private javax.swing.JScrollPane jScrollPane6;
1692 private javax.swing.JScrollPane jScrollPane7;
1693 private javax.swing.JScrollPane jScrollPane8;
1694 private javax.swing.JScrollPane jScrollPane9;
1695 private javax.swing.JToolBar.Separator jSeparator1;
1696 private javax.swing.JToolBar.Separator jSeparator2;
1697 private javax.swing.JToolBar.Separator jSeparator3;
1698 private javax.swing.JPopupMenu.Separator jSeparator4;
1699 private javax.swing.JPopupMenu.Separator jSeparator5;
1700 private javax.swing.JPopupMenu.Separator jSeparator6;
1701 private javax.swing.JPopupMenu.Separator jSeparator7;
1702 private javax.swing.JTabbedPane jTabbedPane1;
1703 private javax.swing.JTextPane jTextPane;
1704 private javax.swing.JToggleButton jToggleButton1;
1705 private javax.swing.JToggleButton jToggleButton2;
1706 private javax.swing.JToggleButton jToggleButton3;
1707 private javax.swing.JToggleButton jToggleButton4;
1708 private javax.swing.JToggleButton jToggleButton5;
1709 private javax.swing.JToggleButton jToggleButton6;
1710 private javax.swing.JToolBar jToolBar1;
1711 private javax.swing.JLabel locationLabel;
1712 private javax.swing.JCheckBoxMenuItem logSaveCheckItem;
1713 private javax.swing.JLabel statusBar;
1714 private javax.swing.JLabel streamingLabel;
1715 private javax.swing.JLabel tweetLengthLabel;
1716 private javax.swing.JEditorPane tweetMessageBox;
1717 private javax.swing.JLabel updateLabel;
1718 private javax.swing.JLabel updateTimeLabel;
1719 private javax.swing.JLabel userImageLabel;
1720 private javax.swing.JEditorPane userIntroBox;
1721 private javax.swing.JLabel userNameLabel;
1722 private javax.swing.JEditorPane userWebBox;
1723 // End of variables declaration//GEN-END:variables