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.PREFERRED_SIZE, 553, javax.swing.GroupLayout.PREFERRED_SIZE)
443 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
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.setFloatable(false);
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, 127, javax.swing.GroupLayout.PREFERRED_SIZE))
599 jPanel3Layout.setVerticalGroup(
600 jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
601 .addGroup(jPanel3Layout.createSequentialGroup()
602 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
603 .addComponent(jButton4, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 32, Short.MAX_VALUE)
604 .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel3Layout.createSequentialGroup()
605 .addComponent(jLabel15)
606 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
607 .addComponent(tweetLengthLabel)))
609 .addGroup(jPanel3Layout.createSequentialGroup()
610 .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
611 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
614 userImageLabel.setBackground(java.awt.Color.black);
615 userImageLabel.setOpaque(true);
617 jScrollPane5.setHorizontalScrollBar(null);
619 tweetMessageBox.setContentType("text/html");
620 tweetMessageBox.setEditable(false);
621 tweetMessageBox.addComponentListener(new java.awt.event.ComponentAdapter() {
622 public void componentResized(java.awt.event.ComponentEvent evt) {
623 tweetMessageBoxComponentResized(evt);
626 tweetMessageBox.addHyperlinkListener(hashTagHyperlinkListener);
627 jScrollPane5.setViewportView(tweetMessageBox);
629 javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
630 jPanel4.setLayout(jPanel4Layout);
631 jPanel4Layout.setHorizontalGroup(
632 jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
633 .addGroup(jPanel4Layout.createSequentialGroup()
634 .addComponent(userImageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
635 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
636 .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 667, Short.MAX_VALUE))
638 jPanel4Layout.setVerticalGroup(
639 jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
640 .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 58, Short.MAX_VALUE)
641 .addComponent(userImageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
644 jMenu1.setMnemonic('F');
646 org.openide.awt.Mnemonics.setLocalizedText(jMenu1, "ファイル(F)");
648 jMenu1.setText("ファイル(F)");
650 jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Q, java.awt.event.InputEvent.CTRL_MASK));
651 jMenuItem1.setMnemonic('X');
652 jMenuItem1.setText("終了(X)");
653 jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
654 public void actionPerformed(java.awt.event.ActionEvent evt) {
655 jMenuItem1ActionPerformed(evt);
658 jMenu1.add(jMenuItem1);
660 jMenuBar1.add(jMenu1);
662 jMenu6.setMnemonic('O');
663 jMenu6.setText("操作(O)");
665 jMenuItem10.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F5, 0));
666 jMenuItem10.setMnemonic('U');
667 jMenuItem10.setText("今すぐ更新(U)");
668 jMenuItem10.addActionListener(new java.awt.event.ActionListener() {
669 public void actionPerformed(java.awt.event.ActionEvent evt) {
670 jMenuItem10ActionPerformed(evt);
673 jMenu6.add(jMenuItem10);
675 jMenuItem7.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F5, java.awt.event.InputEvent.CTRL_MASK));
676 jMenuItem7.setMnemonic('A');
677 jMenuItem7.setText("すべての情報を今すぐ更新(A)");
678 jMenuItem7.addActionListener(new java.awt.event.ActionListener() {
679 public void actionPerformed(java.awt.event.ActionEvent evt) {
680 jMenuItem7ActionPerformed(evt);
683 jMenu6.add(jMenuItem7);
685 jMenuItem8.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F5, java.awt.event.InputEvent.ALT_MASK));
686 jMenuItem8.setMnemonic('I');
687 jMenuItem8.setText("時間情報を更新(I)");
688 jMenuItem8.addActionListener(new java.awt.event.ActionListener() {
689 public void actionPerformed(java.awt.event.ActionEvent evt) {
690 jMenuItem8ActionPerformed(evt);
693 jMenu6.add(jMenuItem8);
694 jMenu6.add(jSeparator4);
696 jMenuItem11.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.CTRL_MASK));
697 jMenuItem11.setMnemonic('R');
698 jMenuItem11.setText("発言に返信(Reply)");
699 jMenuItem11.addActionListener(new java.awt.event.ActionListener() {
700 public void actionPerformed(java.awt.event.ActionEvent evt) {
701 jMenuItem11ActionPerformed(evt);
704 jMenu6.add(jMenuItem11);
706 jMenuItem12.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
707 jMenuItem12.setMnemonic('A');
708 jMenuItem12.setText("発言に返信(Reply All)");
709 jMenuItem12.addActionListener(new java.awt.event.ActionListener() {
710 public void actionPerformed(java.awt.event.ActionEvent evt) {
711 jMenuItem12ActionPerformed(evt);
714 jMenu6.add(jMenuItem12);
716 jMenuItem13.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_T, java.awt.event.InputEvent.CTRL_MASK));
717 jMenuItem13.setMnemonic('T');
718 jMenuItem13.setText("発言を公式リツイート(RT)");
719 jMenuItem13.addActionListener(new java.awt.event.ActionListener() {
720 public void actionPerformed(java.awt.event.ActionEvent evt) {
721 jMenuItem13ActionPerformed(evt);
724 jMenu6.add(jMenuItem13);
726 jMenuItem15.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_T, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
727 jMenuItem15.setText("発言をコメント付リツイート(非公式RT)");
728 jMenuItem15.addActionListener(new java.awt.event.ActionListener() {
729 public void actionPerformed(java.awt.event.ActionEvent evt) {
730 jMenuItem15ActionPerformed(evt);
733 jMenu6.add(jMenuItem15);
735 jMenuItem14.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Q, java.awt.event.InputEvent.CTRL_MASK));
736 jMenuItem14.setMnemonic('Q');
737 jMenuItem14.setText("発言を引用ツイート(QT)");
738 jMenuItem14.addActionListener(new java.awt.event.ActionListener() {
739 public void actionPerformed(java.awt.event.ActionEvent evt) {
740 jMenuItem14ActionPerformed(evt);
743 jMenu6.add(jMenuItem14);
745 jMenuItem16.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_D, java.awt.event.InputEvent.CTRL_MASK));
746 jMenuItem16.setMnemonic('D');
747 jMenuItem16.setText("ダイレクトメッセージを送信(D)");
748 jMenuItem16.addActionListener(new java.awt.event.ActionListener() {
749 public void actionPerformed(java.awt.event.ActionEvent evt) {
750 jMenuItem16ActionPerformed(evt);
753 jMenu6.add(jMenuItem16);
754 jMenu6.add(jSeparator5);
756 jMenuItem17.setText("選択した発言をブラウザで開く");
757 jMenuItem17.addActionListener(new java.awt.event.ActionListener() {
758 public void actionPerformed(java.awt.event.ActionEvent evt) {
759 jMenuItem17ActionPerformed(evt);
762 jMenu6.add(jMenuItem17);
764 jMenuItem18.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
765 jMenuItem18.setMnemonic('S');
766 jMenuItem18.setText("選択したユーザの発言を別タブで開く(S)");
767 jMenuItem18.addActionListener(new java.awt.event.ActionListener() {
768 public void actionPerformed(java.awt.event.ActionEvent evt) {
769 jMenuItem18ActionPerformed(evt);
772 jMenu6.add(jMenuItem18);
774 jMenuItem21.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_B, java.awt.event.InputEvent.CTRL_MASK));
775 jMenuItem21.setMnemonic('B');
776 jMenuItem21.setText("選択したユーザの発言をブラウザで開く(B)");
777 jMenuItem21.addActionListener(new java.awt.event.ActionListener() {
778 public void actionPerformed(java.awt.event.ActionEvent evt) {
779 jMenuItem21ActionPerformed(evt);
782 jMenu6.add(jMenuItem21);
784 jMenuItem35.setText("選択したユーザがフォローしているユーザ一覧を開く");
785 jMenuItem35.addActionListener(new java.awt.event.ActionListener() {
786 public void actionPerformed(java.awt.event.ActionEvent evt) {
787 jMenuItem35ActionPerformed(evt);
790 jMenu6.add(jMenuItem35);
792 jMenuItem36.setText("選択したユーザがフォローされているユーザ一覧を開く");
793 jMenuItem36.addActionListener(new java.awt.event.ActionListener() {
794 public void actionPerformed(java.awt.event.ActionEvent evt) {
795 jMenuItem36ActionPerformed(evt);
798 jMenu6.add(jMenuItem36);
799 jMenu6.add(jSeparator6);
801 jMenuItem30.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
802 jMenuItem30.setText("自分のお気に入りを開く");
803 jMenuItem30.addActionListener(new java.awt.event.ActionListener() {
804 public void actionPerformed(java.awt.event.ActionEvent evt) {
805 jMenuItem30ActionPerformed(evt);
808 jMenu6.add(jMenuItem30);
810 jMenuItem22.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.ALT_MASK));
811 jMenuItem22.setText("選択したユーザのお気に入りを開く");
812 jMenuItem22.addActionListener(new java.awt.event.ActionListener() {
813 public void actionPerformed(java.awt.event.ActionEvent evt) {
814 jMenuItem22ActionPerformed(evt);
817 jMenu6.add(jMenuItem22);
819 jMenuItem19.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
820 jMenuItem19.setMnemonic('F');
821 jMenuItem19.setText("選択した発言をお気に入りに追加(F)");
822 jMenuItem19.addActionListener(new java.awt.event.ActionListener() {
823 public void actionPerformed(java.awt.event.ActionEvent evt) {
824 jMenuItem19ActionPerformed(evt);
827 jMenu6.add(jMenuItem19);
829 jMenuItem20.setText("選択した発言をお気に入りから削除");
830 jMenuItem20.addActionListener(new java.awt.event.ActionListener() {
831 public void actionPerformed(java.awt.event.ActionEvent evt) {
832 jMenuItem20ActionPerformed(evt);
835 jMenu6.add(jMenuItem20);
837 jMenuItem33.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
838 jMenuItem33.setMnemonic('C');
839 jMenuItem33.setText("つぶやき内のURLをbit.ly短縮URLに変換(C)");
840 jMenuItem33.addActionListener(new java.awt.event.ActionListener() {
841 public void actionPerformed(java.awt.event.ActionEvent evt) {
842 jMenuItem33ActionPerformed(evt);
845 jMenu6.add(jMenuItem33);
847 jMenuBar1.add(jMenu6);
849 jMenu4.setMnemonic('V');
850 jMenu4.setText("表示(V)");
852 jMenuItem5.setMnemonic('D');
853 jMenuItem5.setText("選択しているタブを削除(D)");
854 jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
855 public void actionPerformed(java.awt.event.ActionEvent evt) {
856 jMenuItem5ActionPerformed(evt);
859 jMenu4.add(jMenuItem5);
861 jCheckBoxMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_I, java.awt.event.InputEvent.CTRL_MASK));
862 jCheckBoxMenuItem1.setMnemonic('I');
863 jCheckBoxMenuItem1.setSelected(true);
864 jCheckBoxMenuItem1.setText("詳細情報ボタンの表示(I)");
865 jCheckBoxMenuItem1.addActionListener(new java.awt.event.ActionListener() {
866 public void actionPerformed(java.awt.event.ActionEvent evt) {
867 jCheckBoxMenuItem1ActionPerformed(evt);
870 jMenu4.add(jCheckBoxMenuItem1);
872 jCheckBoxMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_W, java.awt.event.InputEvent.CTRL_MASK));
873 jCheckBoxMenuItem2.setMnemonic('W');
874 jCheckBoxMenuItem2.setSelected(true);
875 jCheckBoxMenuItem2.setText("書き込みボタンの表示(W)");
876 jCheckBoxMenuItem2.addActionListener(new java.awt.event.ActionListener() {
877 public void actionPerformed(java.awt.event.ActionEvent evt) {
878 jCheckBoxMenuItem2ActionPerformed(evt);
881 jMenu4.add(jCheckBoxMenuItem2);
883 jCheckBoxMenuItem3.setSelected(true);
884 jCheckBoxMenuItem3.setText("Timelineタブを表示");
885 jCheckBoxMenuItem3.addActionListener(new java.awt.event.ActionListener() {
886 public void actionPerformed(java.awt.event.ActionEvent evt) {
887 jCheckBoxMenuItem3ActionPerformed(evt);
890 jMenu4.add(jCheckBoxMenuItem3);
892 jCheckBoxMenuItem4.setSelected(true);
893 jCheckBoxMenuItem4.setText("Mentionタブを表示");
894 jCheckBoxMenuItem4.addActionListener(new java.awt.event.ActionListener() {
895 public void actionPerformed(java.awt.event.ActionEvent evt) {
896 jCheckBoxMenuItem4ActionPerformed(evt);
899 jMenu4.add(jCheckBoxMenuItem4);
901 jCheckBoxMenuItem5.setSelected(true);
902 jCheckBoxMenuItem5.setText("ダイレクトメッセージタブを表示");
903 jCheckBoxMenuItem5.addActionListener(new java.awt.event.ActionListener() {
904 public void actionPerformed(java.awt.event.ActionEvent evt) {
905 jCheckBoxMenuItem5ActionPerformed(evt);
908 jMenu4.add(jCheckBoxMenuItem5);
910 jCheckBoxMenuItem6.setSelected(true);
911 jCheckBoxMenuItem6.setText("送信済みメッセージタブの表示");
912 jCheckBoxMenuItem6.addActionListener(new java.awt.event.ActionListener() {
913 public void actionPerformed(java.awt.event.ActionEvent evt) {
914 jCheckBoxMenuItem6ActionPerformed(evt);
917 jMenu4.add(jCheckBoxMenuItem6);
919 jMenuItem9.setText("Debug");
920 jMenuItem9.addActionListener(new java.awt.event.ActionListener() {
921 public void actionPerformed(java.awt.event.ActionEvent evt) {
922 jMenuItem9ActionPerformed(evt);
925 jMenu4.add(jMenuItem9);
927 jMenuBar1.add(jMenu4);
929 jMenu5.setMnemonic('S');
930 jMenu5.setText("検索(S)");
932 jMenuItem6.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F, java.awt.event.InputEvent.CTRL_MASK));
933 jMenuItem6.setMnemonic('A');
934 jMenuItem6.setText("キーワードでTwitter全体を検索(A)");
935 jMenuItem6.addActionListener(new java.awt.event.ActionListener() {
936 public void actionPerformed(java.awt.event.ActionEvent evt) {
937 jMenuItem6ActionPerformed(evt);
940 jMenu5.add(jMenuItem6);
942 jMenuItem23.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_H, java.awt.event.InputEvent.CTRL_MASK));
943 jMenuItem23.setMnemonic('K');
944 jMenuItem23.setText("キーワードに関連するハッシュタグを検索(K)");
945 jMenuItem23.addActionListener(new java.awt.event.ActionListener() {
946 public void actionPerformed(java.awt.event.ActionEvent evt) {
947 jMenuItem23ActionPerformed(evt);
950 jMenu5.add(jMenuItem23);
952 jMenuItem31.setMnemonic('U');
953 jMenuItem31.setText("指定したユーザを検索(U)");
954 jMenuItem31.addActionListener(new java.awt.event.ActionListener() {
955 public void actionPerformed(java.awt.event.ActionEvent evt) {
956 jMenuItem31ActionPerformed(evt);
959 jMenu5.add(jMenuItem31);
961 jMenuItem34.setText("指定したユーザのFollowing/Followerを表示");
962 jMenuItem34.addActionListener(new java.awt.event.ActionListener() {
963 public void actionPerformed(java.awt.event.ActionEvent evt) {
964 jMenuItem34ActionPerformed(evt);
967 jMenu5.add(jMenuItem34);
969 jMenuBar1.add(jMenu5);
971 jMenu7.setMnemonic('L');
972 jMenu7.setText("リスト(L)");
974 jMenuItem25.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.CTRL_MASK));
975 jMenuItem25.setMnemonic('C');
976 jMenuItem25.setText("自分が作成したリスト一覧(C)");
977 jMenuItem25.addActionListener(new java.awt.event.ActionListener() {
978 public void actionPerformed(java.awt.event.ActionEvent evt) {
979 jMenuItem25ActionPerformed(evt);
982 jMenu7.add(jMenuItem25);
984 jMenuItem24.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.ALT_MASK));
985 jMenuItem24.setMnemonic('S');
986 jMenuItem24.setText("購読しているリスト一覧(S)");
987 jMenuItem24.addActionListener(new java.awt.event.ActionListener() {
988 public void actionPerformed(java.awt.event.ActionEvent evt) {
989 jMenuItem24ActionPerformed(evt);
992 jMenu7.add(jMenuItem24);
994 jMenuItem26.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
995 jMenuItem26.setMnemonic('F');
996 jMenuItem26.setText("自分がフォローされているリスト一覧(F)");
997 jMenuItem26.addActionListener(new java.awt.event.ActionListener() {
998 public void actionPerformed(java.awt.event.ActionEvent evt) {
999 jMenuItem26ActionPerformed(evt);
1002 jMenu7.add(jMenuItem26);
1003 jMenu7.add(jSeparator7);
1005 jMenuItem27.setText("選択したユーザが作成したリスト一覧");
1006 jMenuItem27.addActionListener(new java.awt.event.ActionListener() {
1007 public void actionPerformed(java.awt.event.ActionEvent evt) {
1008 jMenuItem27ActionPerformed(evt);
1011 jMenu7.add(jMenuItem27);
1013 jMenuItem28.setText("選択したユーザが購読しているリスト一覧");
1014 jMenuItem28.addActionListener(new java.awt.event.ActionListener() {
1015 public void actionPerformed(java.awt.event.ActionEvent evt) {
1016 jMenuItem28ActionPerformed(evt);
1019 jMenu7.add(jMenuItem28);
1021 jMenuItem29.setText("選択したユーザがフォローされているリスト一覧");
1022 jMenuItem29.addActionListener(new java.awt.event.ActionListener() {
1023 public void actionPerformed(java.awt.event.ActionEvent evt) {
1024 jMenuItem29ActionPerformed(evt);
1027 jMenu7.add(jMenuItem29);
1029 jMenuBar1.add(jMenu7);
1031 jMenu2.setMnemonic('O');
1032 jMenu2.setText("設定(O)");
1034 jMenuItem2.setText("基本設定");
1035 jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
1036 public void actionPerformed(java.awt.event.ActionEvent evt) {
1037 jMenuItem2ActionPerformed(evt);
1040 jMenu2.add(jMenuItem2);
1042 jMenuItem4.setText("アカウント設定");
1043 jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
1044 public void actionPerformed(java.awt.event.ActionEvent evt) {
1045 jMenuItem4ActionPerformed(evt);
1048 jMenu2.add(jMenuItem4);
1050 jMenuBar1.add(jMenu2);
1052 jMenu8.setMnemonic('M');
1053 jMenu8.setText("ログ管理(M)");
1055 logSaveCheckItem.setSelected(true);
1056 logSaveCheckItem.setText("タイムラインをログとして保存する");
1057 logSaveCheckItem.addActionListener(new java.awt.event.ActionListener() {
1058 public void actionPerformed(java.awt.event.ActionEvent evt) {
1059 logSaveCheckItemActionPerformed(evt);
1062 jMenu8.add(logSaveCheckItem);
1064 jMenuItem32.setText("ログをCSV形式として保存");
1065 jMenuItem32.addActionListener(new java.awt.event.ActionListener() {
1066 public void actionPerformed(java.awt.event.ActionEvent evt) {
1067 jMenuItem32ActionPerformed(evt);
1070 jMenu8.add(jMenuItem32);
1072 jMenuBar1.add(jMenu8);
1074 jMenu9.setText("ストリーミング");
1076 isUsingStreamingMenuItem.setSelected(true);
1077 isUsingStreamingMenuItem.setText("ストリーミングAPIを利用する");
1078 isUsingStreamingMenuItem.addActionListener(new java.awt.event.ActionListener() {
1079 public void actionPerformed(java.awt.event.ActionEvent evt) {
1080 isUsingStreamingMenuItemActionPerformed(evt);
1083 jMenu9.add(isUsingStreamingMenuItem);
1085 jMenuBar1.add(jMenu9);
1087 jMenu3.setMnemonic('H');
1088 jMenu3.setText("ヘルプ(H)");
1090 jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F1, 0));
1091 jMenuItem3.setText("このプログラムについて");
1092 jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
1093 public void actionPerformed(java.awt.event.ActionEvent evt) {
1094 jMenuItem3ActionPerformed(evt);
1097 jMenu3.add(jMenuItem3);
1099 jMenuBar1.add(jMenu3);
1101 setJMenuBar(jMenuBar1);
1103 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
1104 getContentPane().setLayout(layout);
1105 layout.setHorizontalGroup(
1106 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1107 .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 720, Short.MAX_VALUE)
1108 .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1109 .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1110 .addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 720, Short.MAX_VALUE)
1111 .addComponent(jPanel4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1112 .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1114 layout.setVerticalGroup(
1115 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1116 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
1117 .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 434, Short.MAX_VALUE)
1119 .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
1121 .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)
1122 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1123 .addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
1125 .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)
1127 .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
1131 }// </editor-fold>//GEN-END:initComponents
1133 private void jMenuItem31ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem31ActionPerformed
1134 mainAction.actionShowUserSearchDialog();
1135 }//GEN-LAST:event_jMenuItem31ActionPerformed
1137 private void jMenuItem32ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem32ActionPerformed
1138 mainAction.actionShowOutputCSVLogDialog();
1139 }//GEN-LAST:event_jMenuItem32ActionPerformed
1141 private void jMenuItem33ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem33ActionPerformed
1142 mainAction.actionConvertTweetBoxURLToBitly();
1143 }//GEN-LAST:event_jMenuItem33ActionPerformed
1145 private void jMenuItem34ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem34ActionPerformed
1146 mainAction.actionShowFollowingFollowerDialog();
1147 }//GEN-LAST:event_jMenuItem34ActionPerformed
1149 private void jMenuItem35ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem35ActionPerformed
1150 mainAction.actionOpenFollowing();
1151 }//GEN-LAST:event_jMenuItem35ActionPerformed
1153 private void jMenuItem36ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem36ActionPerformed
1154 mainAction.actionOpenFollower();
1155 }//GEN-LAST:event_jMenuItem36ActionPerformed
1157 private void logSaveCheckItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_logSaveCheckItemActionPerformed
1158 mainAction.setSaveLog(this.logSaveCheckItem.getState());
1160 mainAction.saveProperties();
1161 } catch (IOException ex) {
1162 Logger.getLogger(NishioTweetManager.class.getName()).log(Level.SEVERE, null, ex);
1164 }//GEN-LAST:event_logSaveCheckItemActionPerformed
1166 private void isUsingStreamingMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_isUsingStreamingMenuItemActionPerformed
1167 if( mainAction.isUsingStreaming() ) {
1168 mainAction.stopStreaming();
1170 mainAction.startStreaming();
1172 }//GEN-LAST:event_isUsingStreamingMenuItemActionPerformed
1174 private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton4ActionPerformed
1176 mainAction.actionTweet();
1178 }// GEN-LAST:event_jButton4ActionPerformed
1180 private void tweetMessageBoxComponentResized(
1181 java.awt.event.ComponentEvent evt) {// GEN-FIRST:event_tweetMessageBoxComponentResized
1182 }// GEN-LAST:event_tweetMessageBoxComponentResized
1184 private void jTextPaneKeyReleased(java.awt.event.KeyEvent evt) {// GEN-FIRST:event_jTextPaneKeyReleased
1186 mainAction.actionUpdateTweetMessageCount();
1187 }// GEN-LAST:event_jTextPaneKeyReleased
1189 private void jTextPaneFocusGained(java.awt.event.FocusEvent evt) {// GEN-FIRST:event_jTextPaneFocusGained
1191 }// GEN-LAST:event_jTextPaneFocusGained
1193 private void jTextPaneFocusLost(java.awt.event.FocusEvent evt) {// GEN-FIRST:event_jTextPaneFocusLost
1195 }// GEN-LAST:event_jTextPaneFocusLost
1197 private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem1ActionPerformed
1199 mainAction.actionExitButton(evt);
1200 }// GEN-LAST:event_jMenuItem1ActionPerformed
1202 private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem2ActionPerformed
1204 mainAction.actionBasicSettingDialog();
1205 }// GEN-LAST:event_jMenuItem2ActionPerformed
1207 private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem3ActionPerformed
1208 mainAction.actionShowAboutDialog();
1209 }// GEN-LAST:event_jMenuItem3ActionPerformed
1211 private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem4ActionPerformed
1212 mainAction.actionShowAccountDialog();
1213 }// GEN-LAST:event_jMenuItem4ActionPerformed
1215 private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem5ActionPerformed
1217 mainAction.actionRemoveFocusedTabbedTable();
1218 }// GEN-LAST:event_jMenuItem5ActionPerformed
1220 private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem6ActionPerformed
1221 this.mainAction.actionShowKeywordSearchDialog();
1222 }// GEN-LAST:event_jMenuItem6ActionPerformed
1224 private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem7ActionPerformed
1225 mainAction.actionUpdateButton(evt);
1226 // いますぐ更新ボタンを押したので,更新タイムを一度リセットする
1227 // mainAction.resetTweetAutoUpdate();
1228 }// GEN-LAST:event_jMenuItem7ActionPerformed
1230 private void jMenuItem8ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem8ActionPerformed
1232 mainAction.actionRefreshTime();
1233 }// GEN-LAST:event_jMenuItem8ActionPerformed
1235 private void jMenuItem9ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem9ActionPerformed
1237 }// GEN-LAST:event_jMenuItem9ActionPerformed
1239 private void jTextPaneCaretUpdate(javax.swing.event.CaretEvent evt) {// GEN-FIRST:event_jTextPaneCaretUpdate
1240 // TODO add your handling code here:
1241 }// GEN-LAST:event_jTextPaneCaretUpdate
1243 private void statusBarPropertyChange(java.beans.PropertyChangeEvent evt) {// GEN-FIRST:event_statusBarPropertyChange
1245 }// GEN-LAST:event_statusBarPropertyChange
1247 private void jMenuItem10ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem10ActionPerformed
1249 mainAction.actionFocusedTableUpdate();
1250 }// GEN-LAST:event_jMenuItem10ActionPerformed
1252 private void jCheckBoxMenuItem1ActionPerformed(
1253 java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jCheckBoxMenuItem1ActionPerformed
1255 mainAction.actionDetailInfoButton(evt);
1256 jCheckBoxMenuItem1.setSelected(mainAction.isDetailInfoPanelVisible());
1257 jToggleButton1.setSelected(mainAction.isDetailInfoPanelVisible());
1258 }// GEN-LAST:event_jCheckBoxMenuItem1ActionPerformed
1260 private void jCheckBoxMenuItem2ActionPerformed(
1261 java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jCheckBoxMenuItem2ActionPerformed
1263 mainAction.actionShowTweetboxButton(evt);
1267 jCheckBoxMenuItem2.setSelected(mainAction.isShowTweetBoxVisible());
1268 jToggleButton2.setSelected(mainAction.isShowTweetBoxVisible());
1269 }// GEN-LAST:event_jCheckBoxMenuItem2ActionPerformed
1271 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton1ActionPerformed
1272 jMenuItem10ActionPerformed(evt);
1273 }// GEN-LAST:event_jButton1ActionPerformed
1275 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton2ActionPerformed
1276 jMenuItem6ActionPerformed(evt);
1277 }// GEN-LAST:event_jButton2ActionPerformed
1279 private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jToggleButton1ActionPerformed
1280 jCheckBoxMenuItem1ActionPerformed(evt);
1281 }// GEN-LAST:event_jToggleButton1ActionPerformed
1283 private void jToggleButton2ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jToggleButton2ActionPerformed
1284 jCheckBoxMenuItem2ActionPerformed(evt);
1285 }// GEN-LAST:event_jToggleButton2ActionPerformed
1287 private void jCheckBoxMenuItem3ActionPerformed(
1288 java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jCheckBoxMenuItem3ActionPerformed
1289 if (mainAction.isExistTimelineTab()) {
1291 mainAction.actionRemoveTabbedTable(TimerID.createTimelineID());
1292 jCheckBoxMenuItem3.setSelected(false);
1293 jToggleButton3.setSelected(false);
1296 mainAction.actionAddTimelineTab(mainAction.getGetTimelinePeriod());
1297 jCheckBoxMenuItem3.setSelected(true);
1298 jToggleButton3.setSelected(true);
1300 }// GEN-LAST:event_jCheckBoxMenuItem3ActionPerformed
1302 private void jToggleButton3ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jToggleButton3ActionPerformed
1303 jCheckBoxMenuItem3ActionPerformed(evt);
1304 }// GEN-LAST:event_jToggleButton3ActionPerformed
1306 private void jTabbedPane1ComponentRemoved(java.awt.event.ContainerEvent evt) {// GEN-FIRST:event_jTabbedPane1ComponentRemoved
1308 }// GEN-LAST:event_jTabbedPane1ComponentRemoved
1310 private void jCheckBoxMenuItem4ActionPerformed(
1311 java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jCheckBoxMenuItem4ActionPerformed
1312 if (mainAction.isExistMentionTab()) {
1314 mainAction.actionRemoveTabbedTable(TimerID.createMentionID());
1315 jCheckBoxMenuItem4.setSelected(false);
1316 jToggleButton4.setSelected(false);
1319 mainAction.actionAddMentionTab(mainAction.getGetMentionPeriod());
1320 jCheckBoxMenuItem4.setSelected(true);
1321 jToggleButton4.setSelected(true);
1323 }// GEN-LAST:event_jCheckBoxMenuItem4ActionPerformed
1325 private void jCheckBoxMenuItem5ActionPerformed(
1326 java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jCheckBoxMenuItem5ActionPerformed
1327 if (mainAction.isExistDirectMessageTab()) {
1329 mainAction.actionRemoveTabbedTable(TimerID.createDirectMessageID());
1330 jCheckBoxMenuItem5.setSelected(false);
1331 jToggleButton5.setSelected(false);
1334 mainAction.actionAddDirectMessageTab(mainAction
1335 .getGetDirectMessagePeriod());
1336 jCheckBoxMenuItem5.setSelected(true);
1337 jToggleButton5.setSelected(true);
1339 }// GEN-LAST:event_jCheckBoxMenuItem5ActionPerformed
1341 private void jCheckBoxMenuItem6ActionPerformed(
1342 java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jCheckBoxMenuItem6ActionPerformed
1343 if (mainAction.isExistSendDirectMessageTab()) {
1345 mainAction.actionRemoveTabbedTable(TimerID
1346 .createSendDirectMessageID());
1347 jCheckBoxMenuItem6.setSelected(false);
1348 jToggleButton6.setSelected(false);
1351 mainAction.actionAddSendDirectMessageTab(mainAction
1352 .getGetSendDirectMessagePeriod());
1353 jCheckBoxMenuItem6.setSelected(true);
1354 jToggleButton6.setSelected(true);
1356 }// GEN-LAST:event_jCheckBoxMenuItem6ActionPerformed
1358 private void jToggleButton4ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jToggleButton4ActionPerformed
1359 jCheckBoxMenuItem4ActionPerformed(evt);
1360 }// GEN-LAST:event_jToggleButton4ActionPerformed
1362 private void jToggleButton5ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jToggleButton5ActionPerformed
1363 jCheckBoxMenuItem5ActionPerformed(evt);
1364 }// GEN-LAST:event_jToggleButton5ActionPerformed
1366 private void jToggleButton6ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jToggleButton6ActionPerformed
1367 jCheckBoxMenuItem6ActionPerformed(evt);
1368 }// GEN-LAST:event_jToggleButton6ActionPerformed
1370 private void jMenuItem11ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem11ActionPerformed
1372 this.mainAction.actionSetReplyStatusToTweetBoxPane();
1373 }// GEN-LAST:event_jMenuItem11ActionPerformed
1375 private void jMenuItem12ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem12ActionPerformed
1377 this.mainAction.actionSetReplyAllStatusToTweetBoxPane();
1378 }// GEN-LAST:event_jMenuItem12ActionPerformed
1380 private void jMenuItem13ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem13ActionPerformed
1382 this.mainAction.actionRetweet();
1383 }// GEN-LAST:event_jMenuItem13ActionPerformed
1385 private void jMenuItem15ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem15ActionPerformed
1386 this.mainAction.actionCopySelectedStatusToTweetBoxPane();
1387 }// GEN-LAST:event_jMenuItem15ActionPerformed
1389 private void jMenuItem14ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem14ActionPerformed
1390 this.mainAction.actionSetQuoteStatusToTweetBoxPane();
1391 }// GEN-LAST:event_jMenuItem14ActionPerformed
1393 private void jMenuItem16ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem16ActionPerformed
1394 this.mainAction.actionShowDirectMessageDialog();
1395 }// GEN-LAST:event_jMenuItem16ActionPerformed
1397 private void jMenuItem17ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem17ActionPerformed
1398 this.mainAction.actionOpenStatusURL();
1399 }// GEN-LAST:event_jMenuItem17ActionPerformed
1401 private void jMenuItem18ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem18ActionPerformed
1402 this.mainAction.actionSelectedUserTimeline();
1403 }// GEN-LAST:event_jMenuItem18ActionPerformed
1405 private void jMenuItem21ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem21ActionPerformed
1406 this.mainAction.actionOpenUserURL();
1407 }// GEN-LAST:event_jMenuItem21ActionPerformed
1409 private void jMenuItem22ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem22ActionPerformed
1410 this.mainAction.actionOpenUserFav();
1411 }// GEN-LAST:event_jMenuItem22ActionPerformed
1413 private void jMenuItem19ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem19ActionPerformed
1414 this.mainAction.actionCreateFavorite();
1415 }// GEN-LAST:event_jMenuItem19ActionPerformed
1417 private void jMenuItem20ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem20ActionPerformed
1418 this.mainAction.actionDestroyFavorite();
1419 }// GEN-LAST:event_jMenuItem20ActionPerformed
1421 private void jMenuItem23ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem23ActionPerformed
1422 this.mainAction.actionShowHashtagSearchDialog();
1423 }// GEN-LAST:event_jMenuItem23ActionPerformed
1425 private void jMenuItem25ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem25ActionPerformed
1426 this.mainAction.actionShowUserListDialog(mainAction.getScreenName(),
1427 ListGetterSelection.CREATED);
1428 }// GEN-LAST:event_jMenuItem25ActionPerformed
1430 private void jMenuItem24ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem24ActionPerformed
1431 this.mainAction.actionShowUserListDialog(mainAction.getScreenName(),
1432 ListGetterSelection.SUBSCRIPTION);
1433 }// GEN-LAST:event_jMenuItem24ActionPerformed
1435 private void jMenuItem26ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem26ActionPerformed
1436 this.mainAction.actionShowUserListDialog(mainAction.getScreenName(),
1437 ListGetterSelection.MEMBERSHIPS);
1438 }// GEN-LAST:event_jMenuItem26ActionPerformed
1440 private void jMenuItem27ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem27ActionPerformed
1441 this.mainAction.actionShowSelectedUserList(ListGetterSelection.CREATED);
1442 }// GEN-LAST:event_jMenuItem27ActionPerformed
1444 private void jMenuItem28ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem28ActionPerformed
1446 .actionShowSelectedUserList(ListGetterSelection.SUBSCRIPTION);
1447 }// GEN-LAST:event_jMenuItem28ActionPerformed
1449 private void jMenuItem29ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem29ActionPerformed
1451 .actionShowSelectedUserList(ListGetterSelection.MEMBERSHIPS);
1452 }// GEN-LAST:event_jMenuItem29ActionPerformed
1454 private void jMenuItem30ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem30ActionPerformed
1455 this.mainAction.actionOpenFav();
1456 }// GEN-LAST:event_jMenuItem30ActionPerformed
1461 private void updateLen() {
1463 mainAction.actionUpdateTweetMessageCount();
1468 * the command line arguments
1470 public static void main(String args[]) {
1471 java.awt.EventQueue.invokeLater(new Runnable() {
1477 UIManager.setLookAndFeel(UIManager
1478 .getSystemLookAndFeelClassName());
1480 } catch (Exception e) {
1481 e.printStackTrace();
1483 new NishioTweetManager().setVisible(true);
1491 private void init() {
1493 boolean login = false;
1495 tweetManager = new TweetManager();
1496 tweetManager.loginTwitter();
1498 } catch (Exception e) {
1499 e.printStackTrace();
1503 mainAction = new TweetMainAction(this, tweetManager, statusBar,
1504 jTextPane, jPanel3, tweetLengthLabel, jPanel1, jTabbedPane1,
1505 tweetMessageBox, userImageLabel, userNameLabel,
1506 updateTimeLabel, followerLabel, followingLabel, locationLabel,
1507 clientNameLabel, updateLabel, userIntroBox, userWebBox,
1508 jToggleButton3, jToggleButton4, jToggleButton5, jToggleButton6,
1509 jCheckBoxMenuItem3, jCheckBoxMenuItem4, jCheckBoxMenuItem5,
1510 jCheckBoxMenuItem6, trayIcon);
1511 // ハッシュタグ用のハイパーリンクリスナーにアクション登録
1512 this.hashTagHyperlinkListener.setMainAction(mainAction);
1513 // もしログインに失敗したら,アカウント設定画面を出す
1514 if (login == false) {
1515 mainAction.actionShowAccountDialog();
1520 boolean isNoTab = true;
1521 // TL, Mention, DMのタブなどを表示するかしないかの設定を読み込んで反映するようにする
1522 if( this.mainAction.isTempOpenedTimelineTab() ) {
1523 this.mainAction.actionAddTimelineTab(this.mainAction
1524 .getGetTimelinePeriod());
1527 if( this.mainAction.isTempOpenedMentionTab() ) {
1528 this.mainAction.actionAddMentionTab(this.mainAction
1529 .getGetMentionPeriod());
1532 if( this.mainAction.isTempOpenedDMTab() ) {
1533 this.mainAction.actionAddDirectMessageTab(this.mainAction
1534 .getGetDirectMessagePeriod());
1537 if( this.mainAction.isTempOpenedSendDMTab() ) {
1538 this.mainAction.actionAddSendDirectMessageTab(
1539 this.mainAction.getGetSendDirectMessagePeriod() );
1544 if( isNoTab == true ) {
1546 this.mainAction.actionAddTimelineTab(this.mainAction
1547 .getGetTimelinePeriod());
1549 // フォーカスを一番初めのテーブルに移す
1550 this.mainAction.actionRequestFocusToTab(0);
1553 ClientVersionManager version = ClientVersionManager.getInstance();
1554 VersionInfo latest = version.getLatestVersionInfo();
1555 if( latest != null && !latest.getVersion().equals( version.getCurrentversion() )) {
1556 if( this.mainAction.isUpdateNotify() ) {
1557 //最新クライアント情報を通知するかどうか
1558 this.mainAction.actionShowUpdateDialog();
1561 }catch(Exception e) {
1562 e.printStackTrace();
1565 //Streaming APIを利用しているかどうかを表示
1566 this.tweetManager.getStreamManager().addCollectionLifeCycleListener(this);
1567 //streaming利用時はstreamingを開始する
1568 if( this.mainAction.isUsingStreaming() ) {
1569 this.mainAction.startStreaming();
1574 * チェックボックスすべてのチェック状態を更新
1576 public void updateSelectedInformation() {
1579 jCheckBoxMenuItem1.setSelected(mainAction.isDetailInfoPanelVisible());
1580 jToggleButton1.setSelected(mainAction.isDetailInfoPanelVisible());
1582 jCheckBoxMenuItem2.setSelected(mainAction.isShowTweetBoxVisible());
1583 jToggleButton2.setSelected(mainAction.isShowTweetBoxVisible());
1585 logSaveCheckItem.setSelected(mainAction.isSaveLog());
1587 mainAction.updateCheckboxInformation();
1588 //streaming apiを利用するかどうか
1589 isUsingStreamingMenuItem.setSelected(mainAction.isUsingStreaming());
1595 public void onConnect() {
1596 streamingLabel.setText("StreamingAPI開始");
1600 * streaming api接続解除時
1602 public void onDisconnect() {
1603 streamingLabel.setText("StreamingAPI停止中");
1607 * streaming apiクリーンアップ時
1609 public void onCleanUp() {
1613 // nishio tweet manager
1614 private JPopupMenu rightClickPopup = null;
1615 private TweetMainAction mainAction = null;
1617 private TweetManager tweetManager = null;
1618 // Variables declaration - do not modify//GEN-BEGIN:variables
1619 private javax.swing.JEditorPane clientNameLabel;
1620 private javax.swing.JLabel followerLabel;
1621 private javax.swing.JLabel followingLabel;
1622 private javax.swing.JCheckBoxMenuItem isUsingStreamingMenuItem;
1623 private javax.swing.JButton jButton1;
1624 private javax.swing.JButton jButton2;
1625 private javax.swing.JButton jButton4;
1626 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem1;
1627 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem2;
1628 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem3;
1629 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem4;
1630 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem5;
1631 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem6;
1632 private javax.swing.JLabel jLabel12;
1633 private javax.swing.JLabel jLabel13;
1634 private javax.swing.JLabel jLabel15;
1635 private javax.swing.JLabel jLabel3;
1636 private javax.swing.JLabel jLabel4;
1637 private javax.swing.JLabel jLabel5;
1638 private javax.swing.JLabel jLabel9;
1639 private javax.swing.JMenu jMenu1;
1640 private javax.swing.JMenu jMenu2;
1641 private javax.swing.JMenu jMenu3;
1642 private javax.swing.JMenu jMenu4;
1643 private javax.swing.JMenu jMenu5;
1644 private javax.swing.JMenu jMenu6;
1645 private javax.swing.JMenu jMenu7;
1646 private javax.swing.JMenu jMenu8;
1647 private javax.swing.JMenu jMenu9;
1648 private javax.swing.JMenuBar jMenuBar1;
1649 private javax.swing.JMenuItem jMenuItem1;
1650 private javax.swing.JMenuItem jMenuItem10;
1651 private javax.swing.JMenuItem jMenuItem11;
1652 private javax.swing.JMenuItem jMenuItem12;
1653 private javax.swing.JMenuItem jMenuItem13;
1654 private javax.swing.JMenuItem jMenuItem14;
1655 private javax.swing.JMenuItem jMenuItem15;
1656 private javax.swing.JMenuItem jMenuItem16;
1657 private javax.swing.JMenuItem jMenuItem17;
1658 private javax.swing.JMenuItem jMenuItem18;
1659 private javax.swing.JMenuItem jMenuItem19;
1660 private javax.swing.JMenuItem jMenuItem2;
1661 private javax.swing.JMenuItem jMenuItem20;
1662 private javax.swing.JMenuItem jMenuItem21;
1663 private javax.swing.JMenuItem jMenuItem22;
1664 private javax.swing.JMenuItem jMenuItem23;
1665 private javax.swing.JMenuItem jMenuItem24;
1666 private javax.swing.JMenuItem jMenuItem25;
1667 private javax.swing.JMenuItem jMenuItem26;
1668 private javax.swing.JMenuItem jMenuItem27;
1669 private javax.swing.JMenuItem jMenuItem28;
1670 private javax.swing.JMenuItem jMenuItem29;
1671 private javax.swing.JMenuItem jMenuItem3;
1672 private javax.swing.JMenuItem jMenuItem30;
1673 private javax.swing.JMenuItem jMenuItem31;
1674 private javax.swing.JMenuItem jMenuItem32;
1675 private javax.swing.JMenuItem jMenuItem33;
1676 private javax.swing.JMenuItem jMenuItem34;
1677 private javax.swing.JMenuItem jMenuItem35;
1678 private javax.swing.JMenuItem jMenuItem36;
1679 private javax.swing.JMenuItem jMenuItem4;
1680 private javax.swing.JMenuItem jMenuItem5;
1681 private javax.swing.JMenuItem jMenuItem6;
1682 private javax.swing.JMenuItem jMenuItem7;
1683 private javax.swing.JMenuItem jMenuItem8;
1684 private javax.swing.JMenuItem jMenuItem9;
1685 private javax.swing.JPanel jPanel1;
1686 private javax.swing.JPanel jPanel2;
1687 private javax.swing.JPanel jPanel3;
1688 private javax.swing.JPanel jPanel4;
1689 private javax.swing.JScrollPane jScrollPane5;
1690 private javax.swing.JScrollPane jScrollPane6;
1691 private javax.swing.JScrollPane jScrollPane7;
1692 private javax.swing.JScrollPane jScrollPane8;
1693 private javax.swing.JScrollPane jScrollPane9;
1694 private javax.swing.JToolBar.Separator jSeparator1;
1695 private javax.swing.JToolBar.Separator jSeparator2;
1696 private javax.swing.JToolBar.Separator jSeparator3;
1697 private javax.swing.JPopupMenu.Separator jSeparator4;
1698 private javax.swing.JPopupMenu.Separator jSeparator5;
1699 private javax.swing.JPopupMenu.Separator jSeparator6;
1700 private javax.swing.JPopupMenu.Separator jSeparator7;
1701 private javax.swing.JTabbedPane jTabbedPane1;
1702 private javax.swing.JTextPane jTextPane;
1703 private javax.swing.JToggleButton jToggleButton1;
1704 private javax.swing.JToggleButton jToggleButton2;
1705 private javax.swing.JToggleButton jToggleButton3;
1706 private javax.swing.JToggleButton jToggleButton4;
1707 private javax.swing.JToggleButton jToggleButton5;
1708 private javax.swing.JToggleButton jToggleButton6;
1709 private javax.swing.JToolBar jToolBar1;
1710 private javax.swing.JLabel locationLabel;
1711 private javax.swing.JCheckBoxMenuItem logSaveCheckItem;
1712 private javax.swing.JLabel statusBar;
1713 private javax.swing.JLabel streamingLabel;
1714 private javax.swing.JLabel tweetLengthLabel;
1715 private javax.swing.JEditorPane tweetMessageBox;
1716 private javax.swing.JLabel updateLabel;
1717 private javax.swing.JLabel updateTimeLabel;
1718 private javax.swing.JLabel userImageLabel;
1719 private javax.swing.JEditorPane userIntroBox;
1720 private javax.swing.JLabel userNameLabel;
1721 private javax.swing.JEditorPane userWebBox;
1722 // End of variables declaration//GEN-END:variables