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;
25 import java.util.logging.Level;
26 import java.util.logging.Logger;
27 import javax.swing.ImageIcon;
28 import javax.swing.JButton;
29 import javax.swing.JFrame;
30 import javax.swing.JPopupMenu;
31 import javax.swing.UIManager;
32 import javax.swing.WindowConstants;
33 import javax.swing.text.Style;
34 import javax.swing.text.StyleConstants;
35 import javax.swing.text.html.HTMLDocument;
36 import javax.swing.text.html.StyleSheet;
37 import twitter.gui.action.TweetMainAction;
38 import twitter.gui.component.TweetHashtagHyperlinkHandler;
39 import twitter.gui.component.TweetHyperlinkHandler;
40 import twitter.manage.TweetManager;
41 import twitter.task.TimerID;
47 public class NishioTweetManager extends javax.swing.JFrame {
49 private SystemTray systemTray;
50 private TrayIcon trayIcon;
51 private TweetHashtagHyperlinkHandler hashTagHyperlinkListener = new TweetHashtagHyperlinkHandler();
53 /** Creates new form NishioTweetManager */
54 public NishioTweetManager() {
61 updateSelectedInformation();
67 private void initComponents2() {
71 /*URL resource = getClass().getResource("icon.png");
72 image = new ImageIcon(resource).getImage();*/
73 image = new ImageIcon("resources/icon.png").getImage();
75 this.setIconImage(image);
76 } catch (Exception e) {
78 image = new BufferedImage(32, 32, BufferedImage.TYPE_INT_RGB);
81 systemTray = SystemTray.getSystemTray();
82 final JFrame frame = this;
83 final PopupMenu popup = new PopupMenu();
84 trayIcon = new TrayIcon(image, "Nishio Tweet Manager", popup);
86 //左クリックした時に「画面を開く」アクションをする
87 trayIcon.addMouseListener(new MouseAdapter() {
90 public void mousePressed(MouseEvent me) {
92 if (me.getButton() == MouseEvent.BUTTON1) {
93 frame.setVisible(true);
99 MenuItem item1 = new MenuItem("画面を開く");
100 item1.addActionListener(new ActionListener() {
103 public void actionPerformed(ActionEvent e) {
104 frame.setVisible(true);
107 MenuItem item2 = new MenuItem("終了");
108 item2.addActionListener(new ActionListener() {
111 public void actionPerformed(ActionEvent e) {
112 systemTray.remove(trayIcon);
113 frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
122 systemTray.add(trayIcon);
123 } catch (AWTException e) {
129 /** This method is called from within the constructor to
130 * initialize the form.
131 * WARNING: Do NOT modify this code. The content of this method is
132 * always regenerated by the Form Editor.
134 @SuppressWarnings("unchecked")
135 // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
136 private void initComponents() {
138 jTabbedPane1 = new twitter.gui.component.DnDTabbedPane();
139 jPanel1 = new javax.swing.JPanel();
140 userImageLabel = new javax.swing.JLabel();
141 jScrollPane5 = new javax.swing.JScrollPane();
142 tweetMessageBox = new javax.swing.JEditorPane();
143 jLabel3 = new javax.swing.JLabel();
144 jLabel4 = new javax.swing.JLabel();
145 jLabel5 = new javax.swing.JLabel();
146 userNameLabel = new javax.swing.JLabel();
147 updateTimeLabel = new javax.swing.JLabel();
148 locationLabel = new javax.swing.JLabel();
149 jLabel9 = new javax.swing.JLabel();
150 followingLabel = new javax.swing.JLabel();
151 followerLabel = new javax.swing.JLabel();
152 jLabel12 = new javax.swing.JLabel();
153 jLabel13 = new javax.swing.JLabel();
154 updateLabel = new javax.swing.JLabel();
155 jScrollPane6 = new javax.swing.JScrollPane();
156 userIntroBox = new javax.swing.JEditorPane();
157 jScrollPane7 = new javax.swing.JScrollPane();
158 userWebBox = new javax.swing.JEditorPane();
159 jScrollPane8 = new javax.swing.JScrollPane();
160 clientNameLabel = new javax.swing.JEditorPane();
161 jPanel2 = new javax.swing.JPanel();
162 statusBar = new javax.swing.JLabel();
163 jToolBar1 = new javax.swing.JToolBar();
164 jButton1 = new javax.swing.JButton();
165 jSeparator1 = new javax.swing.JToolBar.Separator();
166 jButton2 = new javax.swing.JButton();
167 jSeparator2 = new javax.swing.JToolBar.Separator();
168 jToggleButton1 = new javax.swing.JToggleButton();
169 jToggleButton2 = new javax.swing.JToggleButton();
170 jSeparator3 = new javax.swing.JToolBar.Separator();
171 jToggleButton3 = new javax.swing.JToggleButton();
172 jToggleButton4 = new javax.swing.JToggleButton();
173 jToggleButton5 = new javax.swing.JToggleButton();
174 jToggleButton6 = new javax.swing.JToggleButton();
175 jPanel3 = new javax.swing.JPanel();
176 jScrollPane9 = new javax.swing.JScrollPane();
177 jTextPane = new javax.swing.JTextPane();
178 jButton4 = new javax.swing.JButton();
179 tweetLengthLabel = new javax.swing.JLabel();
180 jLabel15 = new javax.swing.JLabel();
181 jMenuBar1 = new javax.swing.JMenuBar();
182 jMenu1 = new javax.swing.JMenu();
183 jMenuItem1 = new javax.swing.JMenuItem();
184 jMenu6 = new javax.swing.JMenu();
185 jMenuItem10 = new javax.swing.JMenuItem();
186 jMenuItem7 = new javax.swing.JMenuItem();
187 jMenuItem8 = new javax.swing.JMenuItem();
188 jSeparator4 = new javax.swing.JPopupMenu.Separator();
189 jMenuItem11 = new javax.swing.JMenuItem();
190 jMenuItem12 = new javax.swing.JMenuItem();
191 jMenuItem13 = new javax.swing.JMenuItem();
192 jMenuItem15 = new javax.swing.JMenuItem();
193 jMenuItem14 = new javax.swing.JMenuItem();
194 jMenuItem16 = new javax.swing.JMenuItem();
195 jSeparator5 = new javax.swing.JPopupMenu.Separator();
196 jMenuItem17 = new javax.swing.JMenuItem();
197 jMenuItem18 = new javax.swing.JMenuItem();
198 jMenuItem21 = new javax.swing.JMenuItem();
199 jSeparator6 = new javax.swing.JPopupMenu.Separator();
200 jMenuItem19 = new javax.swing.JMenuItem();
201 jMenuItem20 = new javax.swing.JMenuItem();
202 jMenuItem22 = new javax.swing.JMenuItem();
203 jMenu4 = new javax.swing.JMenu();
204 jMenuItem5 = new javax.swing.JMenuItem();
205 jCheckBoxMenuItem1 = new javax.swing.JCheckBoxMenuItem();
206 jCheckBoxMenuItem2 = new javax.swing.JCheckBoxMenuItem();
207 jCheckBoxMenuItem3 = new javax.swing.JCheckBoxMenuItem();
208 jCheckBoxMenuItem4 = new javax.swing.JCheckBoxMenuItem();
209 jCheckBoxMenuItem5 = new javax.swing.JCheckBoxMenuItem();
210 jCheckBoxMenuItem6 = new javax.swing.JCheckBoxMenuItem();
211 jMenuItem9 = new javax.swing.JMenuItem();
212 jMenu5 = new javax.swing.JMenu();
213 jMenuItem6 = new javax.swing.JMenuItem();
214 jMenuItem23 = new javax.swing.JMenuItem();
215 jMenu2 = new javax.swing.JMenu();
216 jMenuItem2 = new javax.swing.JMenuItem();
217 jMenuItem4 = new javax.swing.JMenuItem();
218 jMenu3 = new javax.swing.JMenu();
219 jMenuItem3 = new javax.swing.JMenuItem();
221 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
222 setTitle("Nishio Tweet Manager");
224 jTabbedPane1.addContainerListener(new java.awt.event.ContainerAdapter() {
225 public void componentRemoved(java.awt.event.ContainerEvent evt) {
226 jTabbedPane1ComponentRemoved(evt);
230 jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
232 userImageLabel.setBackground(java.awt.Color.black);
233 userImageLabel.setOpaque(true);
235 jScrollPane5.setHorizontalScrollBar(null);
237 tweetMessageBox.setContentType("text/html");
238 tweetMessageBox.setEditable(false);
239 tweetMessageBox.addComponentListener(new java.awt.event.ComponentAdapter() {
240 public void componentResized(java.awt.event.ComponentEvent evt) {
241 tweetMessageBoxComponentResized(evt);
244 tweetMessageBox.addHyperlinkListener(hashTagHyperlinkListener);
245 jScrollPane5.setViewportView(tweetMessageBox);
247 jLabel3.setText("ユーザ名");
249 jLabel4.setText("更新日");
251 jLabel5.setText("現在地");
253 userNameLabel.setText("UserName");
255 updateTimeLabel.setText("Date");
257 locationLabel.setText("Information");
259 jLabel9.setText("Following");
261 followingLabel.setText("0");
263 followerLabel.setText("0");
265 jLabel12.setText("Follower");
267 jLabel13.setText("更新回数");
269 updateLabel.setText("0");
271 jScrollPane6.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
273 userIntroBox.setContentType("text/html");
274 userIntroBox.setEditable(false);
275 userIntroBox.setMinimumSize(new java.awt.Dimension(120, 20));
276 jScrollPane6.setViewportView(userIntroBox);
278 jScrollPane7.setBorder(null);
279 jScrollPane7.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
280 jScrollPane7.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
282 userWebBox.setBorder(null);
283 userWebBox.setContentType("text/html");
284 userWebBox.setEditable(false);
285 userWebBox.setEditable(false);
286 userWebBox.addHyperlinkListener(new TweetHyperlinkHandler());
289 HTMLDocument doc = (HTMLDocument) userWebBox.getDocument();
290 StyleSheet[] style = doc.getStyleSheet().getStyleSheets();
291 for (int i = style.length - 1; i >= 0; i--) {
292 Style body = style[i].getStyle("body");
294 // TODO: change default font size
295 StyleConstants.setFontSize(body, 13);
298 } catch (Exception e) {
301 jScrollPane7.setViewportView(userWebBox);
303 jScrollPane8.setBorder(null);
304 jScrollPane8.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
305 jScrollPane8.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
307 clientNameLabel.setBorder(null);
308 clientNameLabel.setContentType("text/html");
309 clientNameLabel.setEditable(false);
310 clientNameLabel.setEditable(false);
311 clientNameLabel.addHyperlinkListener(new TweetHyperlinkHandler());
314 HTMLDocument doc = (HTMLDocument) clientNameLabel.getDocument();
315 StyleSheet[] style = doc.getStyleSheet().getStyleSheets();
316 for (int i = style.length - 1; i >= 0; i--) {
317 Style body = style[i].getStyle("body");
319 // TODO: default font size
320 StyleConstants.setFontSize(body, 13);
323 } catch (Exception e) {
326 jScrollPane8.setViewportView(clientNameLabel);
328 javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
329 jPanel1.setLayout(jPanel1Layout);
330 jPanel1Layout.setHorizontalGroup(
331 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
332 .addGroup(jPanel1Layout.createSequentialGroup()
333 .addComponent(userImageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
335 .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 656, Short.MAX_VALUE))
336 .addGroup(jPanel1Layout.createSequentialGroup()
338 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
339 .addGroup(jPanel1Layout.createSequentialGroup()
340 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
341 .addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
342 .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
343 .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
345 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
346 .addComponent(locationLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 183, javax.swing.GroupLayout.PREFERRED_SIZE)
347 .addComponent(userNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 183, javax.swing.GroupLayout.PREFERRED_SIZE)
348 .addComponent(updateTimeLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 183, javax.swing.GroupLayout.PREFERRED_SIZE))
349 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
350 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
351 .addComponent(jLabel13, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
352 .addComponent(jLabel12, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
353 .addComponent(jLabel9))
355 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
356 .addComponent(updateLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
357 .addComponent(followerLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 68, Short.MAX_VALUE)
358 .addComponent(followingLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
359 .addGroup(jPanel1Layout.createSequentialGroup()
360 .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE)
361 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
362 .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 189, javax.swing.GroupLayout.PREFERRED_SIZE)))
363 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
364 .addComponent(jScrollPane6, javax.swing.GroupLayout.DEFAULT_SIZE, 274, Short.MAX_VALUE))
366 jPanel1Layout.setVerticalGroup(
367 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
368 .addGroup(jPanel1Layout.createSequentialGroup()
369 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
370 .addComponent(userImageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
371 .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE))
372 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
373 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
374 .addGroup(jPanel1Layout.createSequentialGroup()
375 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
376 .addGroup(jPanel1Layout.createSequentialGroup()
377 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
378 .addComponent(jLabel3)
379 .addComponent(userNameLabel))
380 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
381 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
382 .addComponent(jLabel4)
383 .addComponent(updateTimeLabel))
384 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
385 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
386 .addComponent(jLabel5)
387 .addComponent(locationLabel)))
388 .addGroup(jPanel1Layout.createSequentialGroup()
389 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
390 .addComponent(jLabel9)
391 .addComponent(followingLabel))
392 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
393 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
394 .addComponent(jLabel12)
395 .addComponent(followerLabel))
396 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
397 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
398 .addComponent(jLabel13)
399 .addComponent(updateLabel))))
400 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
401 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
402 .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
403 .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)))
404 .addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE))
405 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
408 jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder());
410 statusBar.setText("Status");
411 statusBar.setBorder(null);
412 statusBar.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
413 public void propertyChange(java.beans.PropertyChangeEvent evt) {
414 statusBarPropertyChange(evt);
418 javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
419 jPanel2.setLayout(jPanel2Layout);
420 jPanel2Layout.setHorizontalGroup(
421 jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
422 .addComponent(statusBar, javax.swing.GroupLayout.PREFERRED_SIZE, 707, javax.swing.GroupLayout.PREFERRED_SIZE)
424 jPanel2Layout.setVerticalGroup(
425 jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
426 .addComponent(statusBar, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 20, Short.MAX_VALUE)
429 jToolBar1.setRollover(true);
431 jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/toolbarButtonGraphics/general/Refresh24.gif"))); // NOI18N
432 jButton1.setToolTipText("今すぐ更新");
433 jButton1.setFocusable(false);
434 jButton1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
435 jButton1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
436 jButton1.addActionListener(new java.awt.event.ActionListener() {
437 public void actionPerformed(java.awt.event.ActionEvent evt) {
438 jButton1ActionPerformed(evt);
441 jToolBar1.add(jButton1);
442 jToolBar1.add(jSeparator1);
444 jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/toolbarButtonGraphics/general/Find24.gif"))); // NOI18N
445 jButton2.setFocusable(false);
446 jButton2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
447 jButton2.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
448 jButton2.addActionListener(new java.awt.event.ActionListener() {
449 public void actionPerformed(java.awt.event.ActionEvent evt) {
450 jButton2ActionPerformed(evt);
453 jToolBar1.add(jButton2);
454 jToolBar1.add(jSeparator2);
456 jToggleButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resource/syousai.PNG"))); // NOI18N
457 jToggleButton1.setSelected(true);
458 jToggleButton1.setFocusable(false);
459 jToggleButton1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
460 jToggleButton1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
461 jToggleButton1.addActionListener(new java.awt.event.ActionListener() {
462 public void actionPerformed(java.awt.event.ActionEvent evt) {
463 jToggleButton1ActionPerformed(evt);
466 jToolBar1.add(jToggleButton1);
468 jToggleButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resource/write.PNG"))); // NOI18N
469 jToggleButton2.setSelected(true);
470 jToggleButton2.setFocusable(false);
471 jToggleButton2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
472 jToggleButton2.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
473 jToggleButton2.addActionListener(new java.awt.event.ActionListener() {
474 public void actionPerformed(java.awt.event.ActionEvent evt) {
475 jToggleButton2ActionPerformed(evt);
478 jToolBar1.add(jToggleButton2);
479 jToolBar1.add(jSeparator3);
481 jToggleButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resource/timeline.PNG"))); // NOI18N
482 jToggleButton3.setSelected(true);
483 jToggleButton3.setFocusable(false);
484 jToggleButton3.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
485 jToggleButton3.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
486 jToggleButton3.addActionListener(new java.awt.event.ActionListener() {
487 public void actionPerformed(java.awt.event.ActionEvent evt) {
488 jToggleButton3ActionPerformed(evt);
491 jToolBar1.add(jToggleButton3);
493 jToggleButton4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resource/mention.PNG"))); // NOI18N
494 jToggleButton4.setFocusable(false);
495 jToggleButton4.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
496 jToggleButton4.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
497 jToggleButton4.addActionListener(new java.awt.event.ActionListener() {
498 public void actionPerformed(java.awt.event.ActionEvent evt) {
499 jToggleButton4ActionPerformed(evt);
502 jToolBar1.add(jToggleButton4);
504 jToggleButton5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resource/directmessage.PNG"))); // NOI18N
505 jToggleButton5.setFocusable(false);
506 jToggleButton5.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
507 jToggleButton5.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
508 jToggleButton5.addActionListener(new java.awt.event.ActionListener() {
509 public void actionPerformed(java.awt.event.ActionEvent evt) {
510 jToggleButton5ActionPerformed(evt);
513 jToolBar1.add(jToggleButton5);
515 jToggleButton6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resource/sendMessage.PNG"))); // NOI18N
516 jToggleButton6.setFocusable(false);
517 jToggleButton6.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
518 jToggleButton6.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
519 jToggleButton6.addActionListener(new java.awt.event.ActionListener() {
520 public void actionPerformed(java.awt.event.ActionEvent evt) {
521 jToggleButton6ActionPerformed(evt);
524 jToolBar1.add(jToggleButton6);
526 jScrollPane9.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
527 jScrollPane9.setMaximumSize(new java.awt.Dimension(32767, 80));
528 jScrollPane9.setMinimumSize(new java.awt.Dimension(26, 80));
530 jTextPane.setMaximumSize(new java.awt.Dimension(2147483647, 20));
531 jTextPane.addCaretListener(new javax.swing.event.CaretListener() {
532 public void caretUpdate(javax.swing.event.CaretEvent evt) {
533 jTextPaneCaretUpdate(evt);
536 jTextPane.addFocusListener(new java.awt.event.FocusAdapter() {
537 public void focusGained(java.awt.event.FocusEvent evt) {
538 jTextPaneFocusGained(evt);
540 public void focusLost(java.awt.event.FocusEvent evt) {
541 jTextPaneFocusLost(evt);
544 jTextPane.addKeyListener(new java.awt.event.KeyAdapter() {
545 public void keyReleased(java.awt.event.KeyEvent evt) {
546 jTextPaneKeyReleased(evt);
549 jScrollPane9.setViewportView(jTextPane);
551 jButton4.setText("つぶやく");
552 jButton4.addActionListener(new java.awt.event.ActionListener() {
553 public void actionPerformed(java.awt.event.ActionEvent evt) {
554 jButton4ActionPerformed(evt);
558 tweetLengthLabel.setText("140");
560 jLabel15.setText("残り文字数");
562 javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
563 jPanel3.setLayout(jPanel3Layout);
564 jPanel3Layout.setHorizontalGroup(
565 jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
566 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
567 .addComponent(jScrollPane9, javax.swing.GroupLayout.DEFAULT_SIZE, 498, Short.MAX_VALUE)
568 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
569 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
570 .addComponent(jLabel15)
571 .addComponent(tweetLengthLabel))
572 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
573 .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE)
576 jPanel3Layout.setVerticalGroup(
577 jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
578 .addGroup(jPanel3Layout.createSequentialGroup()
579 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
580 .addComponent(jButton4, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 34, Short.MAX_VALUE)
581 .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel3Layout.createSequentialGroup()
582 .addComponent(jLabel15)
583 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
584 .addComponent(tweetLengthLabel)))
586 .addGroup(jPanel3Layout.createSequentialGroup()
587 .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)
588 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
591 jMenu1.setMnemonic('F');
593 org.openide.awt.Mnemonics.setLocalizedText(jMenu1, "ファイル(F)");
595 jMenu1.setText("ファイル(F)");
597 jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Q, java.awt.event.InputEvent.CTRL_MASK));
598 jMenuItem1.setMnemonic('X');
599 jMenuItem1.setText("終了(X)");
600 jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
601 public void actionPerformed(java.awt.event.ActionEvent evt) {
602 jMenuItem1ActionPerformed(evt);
605 jMenu1.add(jMenuItem1);
607 jMenuBar1.add(jMenu1);
609 jMenu6.setMnemonic('O');
610 jMenu6.setText("操作(O)");
612 jMenuItem10.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F5, 0));
613 jMenuItem10.setMnemonic('U');
614 jMenuItem10.setText("今すぐ更新(U)");
615 jMenuItem10.addActionListener(new java.awt.event.ActionListener() {
616 public void actionPerformed(java.awt.event.ActionEvent evt) {
617 jMenuItem10ActionPerformed(evt);
620 jMenu6.add(jMenuItem10);
622 jMenuItem7.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F5, java.awt.event.InputEvent.CTRL_MASK));
623 jMenuItem7.setMnemonic('A');
624 jMenuItem7.setText("すべての情報を今すぐ更新(A)");
625 jMenuItem7.addActionListener(new java.awt.event.ActionListener() {
626 public void actionPerformed(java.awt.event.ActionEvent evt) {
627 jMenuItem7ActionPerformed(evt);
630 jMenu6.add(jMenuItem7);
632 jMenuItem8.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F5, java.awt.event.InputEvent.ALT_MASK));
633 jMenuItem8.setMnemonic('I');
634 jMenuItem8.setText("時間情報を更新(I)");
635 jMenuItem8.addActionListener(new java.awt.event.ActionListener() {
636 public void actionPerformed(java.awt.event.ActionEvent evt) {
637 jMenuItem8ActionPerformed(evt);
640 jMenu6.add(jMenuItem8);
641 jMenu6.add(jSeparator4);
643 jMenuItem11.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.CTRL_MASK));
644 jMenuItem11.setMnemonic('R');
645 jMenuItem11.setText("発言に返信(Reply)");
646 jMenuItem11.addActionListener(new java.awt.event.ActionListener() {
647 public void actionPerformed(java.awt.event.ActionEvent evt) {
648 jMenuItem11ActionPerformed(evt);
651 jMenu6.add(jMenuItem11);
653 jMenuItem12.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
654 jMenuItem12.setMnemonic('A');
655 jMenuItem12.setText("発言に返信(Reply All)");
656 jMenuItem12.addActionListener(new java.awt.event.ActionListener() {
657 public void actionPerformed(java.awt.event.ActionEvent evt) {
658 jMenuItem12ActionPerformed(evt);
661 jMenu6.add(jMenuItem12);
663 jMenuItem13.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_T, java.awt.event.InputEvent.CTRL_MASK));
664 jMenuItem13.setMnemonic('T');
665 jMenuItem13.setText("発言を公式リツイート(RT)");
666 jMenuItem13.addActionListener(new java.awt.event.ActionListener() {
667 public void actionPerformed(java.awt.event.ActionEvent evt) {
668 jMenuItem13ActionPerformed(evt);
671 jMenu6.add(jMenuItem13);
673 jMenuItem15.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_T, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
674 jMenuItem15.setText("発言をコメント付リツイート(非公式RT)");
675 jMenuItem15.addActionListener(new java.awt.event.ActionListener() {
676 public void actionPerformed(java.awt.event.ActionEvent evt) {
677 jMenuItem15ActionPerformed(evt);
680 jMenu6.add(jMenuItem15);
682 jMenuItem14.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Q, java.awt.event.InputEvent.CTRL_MASK));
683 jMenuItem14.setMnemonic('Q');
684 jMenuItem14.setText("発言を引用ツイート(QT)");
685 jMenuItem14.addActionListener(new java.awt.event.ActionListener() {
686 public void actionPerformed(java.awt.event.ActionEvent evt) {
687 jMenuItem14ActionPerformed(evt);
690 jMenu6.add(jMenuItem14);
692 jMenuItem16.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_D, java.awt.event.InputEvent.CTRL_MASK));
693 jMenuItem16.setMnemonic('D');
694 jMenuItem16.setText("ダイレクトメッセージを送信(D)");
695 jMenuItem16.addActionListener(new java.awt.event.ActionListener() {
696 public void actionPerformed(java.awt.event.ActionEvent evt) {
697 jMenuItem16ActionPerformed(evt);
700 jMenu6.add(jMenuItem16);
701 jMenu6.add(jSeparator5);
703 jMenuItem17.setText("選択した発言をブラウザで開く");
704 jMenuItem17.addActionListener(new java.awt.event.ActionListener() {
705 public void actionPerformed(java.awt.event.ActionEvent evt) {
706 jMenuItem17ActionPerformed(evt);
709 jMenu6.add(jMenuItem17);
711 jMenuItem18.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
712 jMenuItem18.setMnemonic('S');
713 jMenuItem18.setText("選択した人の発言を別タブで開く(S)");
714 jMenuItem18.addActionListener(new java.awt.event.ActionListener() {
715 public void actionPerformed(java.awt.event.ActionEvent evt) {
716 jMenuItem18ActionPerformed(evt);
719 jMenu6.add(jMenuItem18);
721 jMenuItem21.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_B, java.awt.event.InputEvent.CTRL_MASK));
722 jMenuItem21.setMnemonic('B');
723 jMenuItem21.setText("選択した人の発言をブラウザで開く(B)");
724 jMenuItem21.addActionListener(new java.awt.event.ActionListener() {
725 public void actionPerformed(java.awt.event.ActionEvent evt) {
726 jMenuItem21ActionPerformed(evt);
729 jMenu6.add(jMenuItem21);
730 jMenu6.add(jSeparator6);
732 jMenuItem19.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
733 jMenuItem19.setMnemonic('F');
734 jMenuItem19.setText("選択した発言をお気に入りに追加(F)");
735 jMenuItem19.addActionListener(new java.awt.event.ActionListener() {
736 public void actionPerformed(java.awt.event.ActionEvent evt) {
737 jMenuItem19ActionPerformed(evt);
740 jMenu6.add(jMenuItem19);
742 jMenuItem20.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
743 jMenuItem20.setText("選択した発言をお気に入りから削除");
744 jMenuItem20.addActionListener(new java.awt.event.ActionListener() {
745 public void actionPerformed(java.awt.event.ActionEvent evt) {
746 jMenuItem20ActionPerformed(evt);
749 jMenu6.add(jMenuItem20);
751 jMenuItem22.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.ALT_MASK));
752 jMenuItem22.setText("選択したユーザのお気に入りを開く");
753 jMenuItem22.addActionListener(new java.awt.event.ActionListener() {
754 public void actionPerformed(java.awt.event.ActionEvent evt) {
755 jMenuItem22ActionPerformed(evt);
758 jMenu6.add(jMenuItem22);
760 jMenuBar1.add(jMenu6);
762 jMenu4.setMnemonic('V');
763 jMenu4.setText("表示(V)");
765 jMenuItem5.setMnemonic('D');
766 jMenuItem5.setText("選択しているタブを削除(D)");
767 jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
768 public void actionPerformed(java.awt.event.ActionEvent evt) {
769 jMenuItem5ActionPerformed(evt);
772 jMenu4.add(jMenuItem5);
774 jCheckBoxMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_I, java.awt.event.InputEvent.CTRL_MASK));
775 jCheckBoxMenuItem1.setMnemonic('I');
776 jCheckBoxMenuItem1.setSelected(true);
777 jCheckBoxMenuItem1.setText("詳細情報ボタンの表示(I)");
778 jCheckBoxMenuItem1.addActionListener(new java.awt.event.ActionListener() {
779 public void actionPerformed(java.awt.event.ActionEvent evt) {
780 jCheckBoxMenuItem1ActionPerformed(evt);
783 jMenu4.add(jCheckBoxMenuItem1);
785 jCheckBoxMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_W, java.awt.event.InputEvent.CTRL_MASK));
786 jCheckBoxMenuItem2.setMnemonic('W');
787 jCheckBoxMenuItem2.setSelected(true);
788 jCheckBoxMenuItem2.setText("書き込みボタンの表示(W)");
789 jCheckBoxMenuItem2.addActionListener(new java.awt.event.ActionListener() {
790 public void actionPerformed(java.awt.event.ActionEvent evt) {
791 jCheckBoxMenuItem2ActionPerformed(evt);
794 jMenu4.add(jCheckBoxMenuItem2);
796 jCheckBoxMenuItem3.setSelected(true);
797 jCheckBoxMenuItem3.setText("Timelineタブを表示");
798 jCheckBoxMenuItem3.addActionListener(new java.awt.event.ActionListener() {
799 public void actionPerformed(java.awt.event.ActionEvent evt) {
800 jCheckBoxMenuItem3ActionPerformed(evt);
803 jMenu4.add(jCheckBoxMenuItem3);
805 jCheckBoxMenuItem4.setSelected(true);
806 jCheckBoxMenuItem4.setText("Mentionタブを表示");
807 jCheckBoxMenuItem4.addActionListener(new java.awt.event.ActionListener() {
808 public void actionPerformed(java.awt.event.ActionEvent evt) {
809 jCheckBoxMenuItem4ActionPerformed(evt);
812 jMenu4.add(jCheckBoxMenuItem4);
814 jCheckBoxMenuItem5.setSelected(true);
815 jCheckBoxMenuItem5.setText("ダイレクトメッセージタブを表示");
816 jCheckBoxMenuItem5.addActionListener(new java.awt.event.ActionListener() {
817 public void actionPerformed(java.awt.event.ActionEvent evt) {
818 jCheckBoxMenuItem5ActionPerformed(evt);
821 jMenu4.add(jCheckBoxMenuItem5);
823 jCheckBoxMenuItem6.setSelected(true);
824 jCheckBoxMenuItem6.setText("送信済みメッセージタブの表示");
825 jCheckBoxMenuItem6.addActionListener(new java.awt.event.ActionListener() {
826 public void actionPerformed(java.awt.event.ActionEvent evt) {
827 jCheckBoxMenuItem6ActionPerformed(evt);
830 jMenu4.add(jCheckBoxMenuItem6);
832 jMenuItem9.setText("Debug");
833 jMenuItem9.addActionListener(new java.awt.event.ActionListener() {
834 public void actionPerformed(java.awt.event.ActionEvent evt) {
835 jMenuItem9ActionPerformed(evt);
838 jMenu4.add(jMenuItem9);
840 jMenuBar1.add(jMenu4);
842 jMenu5.setMnemonic('S');
843 jMenu5.setText("検索(S)");
845 jMenuItem6.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F, java.awt.event.InputEvent.CTRL_MASK));
846 jMenuItem6.setMnemonic('A');
847 jMenuItem6.setText("キーワードでTwitter全体を検索(A)");
848 jMenuItem6.addActionListener(new java.awt.event.ActionListener() {
849 public void actionPerformed(java.awt.event.ActionEvent evt) {
850 jMenuItem6ActionPerformed(evt);
853 jMenu5.add(jMenuItem6);
855 jMenuItem23.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_H, java.awt.event.InputEvent.CTRL_MASK));
856 jMenuItem23.setMnemonic('K');
857 jMenuItem23.setText("キーワードに関連するハッシュタグを検索(K)");
858 jMenuItem23.addActionListener(new java.awt.event.ActionListener() {
859 public void actionPerformed(java.awt.event.ActionEvent evt) {
860 jMenuItem23ActionPerformed(evt);
863 jMenu5.add(jMenuItem23);
865 jMenuBar1.add(jMenu5);
867 jMenu2.setMnemonic('O');
868 jMenu2.setText("設定(O)");
870 jMenuItem2.setText("基本設定");
871 jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
872 public void actionPerformed(java.awt.event.ActionEvent evt) {
873 jMenuItem2ActionPerformed(evt);
876 jMenu2.add(jMenuItem2);
878 jMenuItem4.setText("アカウント設定");
879 jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
880 public void actionPerformed(java.awt.event.ActionEvent evt) {
881 jMenuItem4ActionPerformed(evt);
884 jMenu2.add(jMenuItem4);
886 jMenuBar1.add(jMenu2);
888 jMenu3.setMnemonic('H');
889 jMenu3.setText("ヘルプ(H)");
891 jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F1, 0));
892 jMenuItem3.setText("このプログラムについて");
893 jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
894 public void actionPerformed(java.awt.event.ActionEvent evt) {
895 jMenuItem3ActionPerformed(evt);
898 jMenu3.add(jMenuItem3);
900 jMenuBar1.add(jMenu3);
902 setJMenuBar(jMenuBar1);
904 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
905 getContentPane().setLayout(layout);
906 layout.setHorizontalGroup(
907 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
908 .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
909 .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
910 .addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 711, Short.MAX_VALUE)
911 .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
912 .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 711, Short.MAX_VALUE)
914 layout.setVerticalGroup(
915 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
916 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
917 .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 321, Short.MAX_VALUE)
918 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
919 .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
920 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
921 .addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
922 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
923 .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
924 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
925 .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
929 }// </editor-fold>//GEN-END:initComponents
931 private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
933 mainAction.actionTweet();
935 }//GEN-LAST:event_jButton4ActionPerformed
937 private void tweetMessageBoxComponentResized(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_tweetMessageBoxComponentResized
938 }//GEN-LAST:event_tweetMessageBoxComponentResized
940 private void jTextPaneKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextPaneKeyReleased
942 mainAction.actionUpdateTweetMessageCount();
943 }//GEN-LAST:event_jTextPaneKeyReleased
945 private void jTextPaneFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextPaneFocusGained
947 }//GEN-LAST:event_jTextPaneFocusGained
949 private void jTextPaneFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextPaneFocusLost
951 }//GEN-LAST:event_jTextPaneFocusLost
953 private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
955 mainAction.actionExitButton(evt);
956 }//GEN-LAST:event_jMenuItem1ActionPerformed
958 private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
960 mainAction.actionBasicSettingDialog();
961 }//GEN-LAST:event_jMenuItem2ActionPerformed
963 private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed
964 mainAction.actionShowAboutDialog();
965 }//GEN-LAST:event_jMenuItem3ActionPerformed
967 private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed
968 mainAction.actionShowAccountDialog();
969 }//GEN-LAST:event_jMenuItem4ActionPerformed
971 private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem5ActionPerformed
973 mainAction.actionRemoveFocusedTabbedTable();
974 }//GEN-LAST:event_jMenuItem5ActionPerformed
976 private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem6ActionPerformed
977 this.mainAction.actionShowKeywordSearchDialog();
978 }//GEN-LAST:event_jMenuItem6ActionPerformed
980 private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem7ActionPerformed
981 mainAction.actionUpdateButton(evt);
982 // いますぐ更新ボタンを押したので,更新タイムを一度リセットする
983 // mainAction.resetTweetAutoUpdate();
984 }//GEN-LAST:event_jMenuItem7ActionPerformed
986 private void jMenuItem8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem8ActionPerformed
988 mainAction.actionRefreshTime();
989 }//GEN-LAST:event_jMenuItem8ActionPerformed
991 private void jMenuItem9ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem9ActionPerformed
992 mainAction.actionShowUserListDialog("yumi_rua");
993 }//GEN-LAST:event_jMenuItem9ActionPerformed
995 private void jTextPaneCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_jTextPaneCaretUpdate
996 // TODO add your handling code here:
997 }//GEN-LAST:event_jTextPaneCaretUpdate
999 private void statusBarPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_statusBarPropertyChange
1001 }//GEN-LAST:event_statusBarPropertyChange
1003 private void jMenuItem10ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem10ActionPerformed
1005 mainAction.actionFocusedTableUpdate();
1006 }//GEN-LAST:event_jMenuItem10ActionPerformed
1008 private void jCheckBoxMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxMenuItem1ActionPerformed
1010 mainAction.actionDetailInfoButton(evt);
1011 jCheckBoxMenuItem1.setSelected( mainAction.isDetailInfoPanelVisible() );
1012 jToggleButton1.setSelected( mainAction.isDetailInfoPanelVisible() );
1013 }//GEN-LAST:event_jCheckBoxMenuItem1ActionPerformed
1015 private void jCheckBoxMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxMenuItem2ActionPerformed
1017 mainAction.actionShowTweetboxButton(evt);
1021 jCheckBoxMenuItem2.setSelected( mainAction.isShowTweetBoxVisible() );
1022 jToggleButton2.setSelected( mainAction.isShowTweetBoxVisible() );
1023 }//GEN-LAST:event_jCheckBoxMenuItem2ActionPerformed
1025 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
1026 jMenuItem10ActionPerformed(evt);
1027 }//GEN-LAST:event_jButton1ActionPerformed
1029 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
1030 jMenuItem6ActionPerformed(evt);
1031 }//GEN-LAST:event_jButton2ActionPerformed
1033 private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleButton1ActionPerformed
1034 jCheckBoxMenuItem1ActionPerformed(evt);
1035 }//GEN-LAST:event_jToggleButton1ActionPerformed
1037 private void jToggleButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleButton2ActionPerformed
1038 jCheckBoxMenuItem2ActionPerformed(evt);
1039 }//GEN-LAST:event_jToggleButton2ActionPerformed
1041 private void jCheckBoxMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxMenuItem3ActionPerformed
1042 if( mainAction.isExistTimelineTab() ) {
1044 mainAction.actionRemoveTabbedTable( TimerID.createTimelineID() );
1045 jCheckBoxMenuItem3.setSelected(false);
1046 jToggleButton3.setSelected(false);
1049 mainAction.actionAddTimelineTab( mainAction.getGetTimelinePeriod() );
1050 jCheckBoxMenuItem3.setSelected(true);
1051 jToggleButton3.setSelected(true);
1053 }//GEN-LAST:event_jCheckBoxMenuItem3ActionPerformed
1055 private void jToggleButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleButton3ActionPerformed
1056 jCheckBoxMenuItem3ActionPerformed(evt);
1057 }//GEN-LAST:event_jToggleButton3ActionPerformed
1059 private void jTabbedPane1ComponentRemoved(java.awt.event.ContainerEvent evt) {//GEN-FIRST:event_jTabbedPane1ComponentRemoved
1061 }//GEN-LAST:event_jTabbedPane1ComponentRemoved
1063 private void jCheckBoxMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxMenuItem4ActionPerformed
1064 if( mainAction.isExistMentionTab() ) {
1066 mainAction.actionRemoveTabbedTable( TimerID.createMentionID() );
1067 jCheckBoxMenuItem4.setSelected(false);
1068 jToggleButton4.setSelected(false);
1071 mainAction.actionAddMentionTab( mainAction.getGetMentionPeriod() );
1072 jCheckBoxMenuItem4.setSelected(true);
1073 jToggleButton4.setSelected(true);
1075 }//GEN-LAST:event_jCheckBoxMenuItem4ActionPerformed
1077 private void jCheckBoxMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxMenuItem5ActionPerformed
1078 if( mainAction.isExistDirectMessageTab() ) {
1080 mainAction.actionRemoveTabbedTable( TimerID.createDirectMessageID() );
1081 jCheckBoxMenuItem5.setSelected(false);
1082 jToggleButton5.setSelected(false);
1085 mainAction.actionAddDirectMessageTab( mainAction.getGetDirectMessagePeriod() );
1086 jCheckBoxMenuItem5.setSelected(true);
1087 jToggleButton5.setSelected(true);
1089 }//GEN-LAST:event_jCheckBoxMenuItem5ActionPerformed
1091 private void jCheckBoxMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxMenuItem6ActionPerformed
1092 if( mainAction.isExistSendDirectMessageTab() ) {
1094 mainAction.actionRemoveTabbedTable( TimerID.createSendDirectMessageID() );
1095 jCheckBoxMenuItem6.setSelected(false);
1096 jToggleButton6.setSelected(false);
1099 mainAction.actionAddSendDirectMessageTab( mainAction.getGetSendDirectMessagePeriod() );
1100 jCheckBoxMenuItem6.setSelected(true);
1101 jToggleButton6.setSelected(true);
1103 }//GEN-LAST:event_jCheckBoxMenuItem6ActionPerformed
1105 private void jToggleButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleButton4ActionPerformed
1106 jCheckBoxMenuItem4ActionPerformed(evt);
1107 }//GEN-LAST:event_jToggleButton4ActionPerformed
1109 private void jToggleButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleButton5ActionPerformed
1110 jCheckBoxMenuItem5ActionPerformed(evt);
1111 }//GEN-LAST:event_jToggleButton5ActionPerformed
1113 private void jToggleButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleButton6ActionPerformed
1114 jCheckBoxMenuItem6ActionPerformed(evt);
1115 }//GEN-LAST:event_jToggleButton6ActionPerformed
1117 private void jMenuItem11ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem11ActionPerformed
1119 this.mainAction.actionSetReplyStatusToTweetBoxPane();
1120 }//GEN-LAST:event_jMenuItem11ActionPerformed
1122 private void jMenuItem12ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem12ActionPerformed
1124 this.mainAction.actionSetReplyAllStatusToTweetBoxPane();
1125 }//GEN-LAST:event_jMenuItem12ActionPerformed
1127 private void jMenuItem13ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem13ActionPerformed
1129 this.mainAction.actionRetweet();
1130 }//GEN-LAST:event_jMenuItem13ActionPerformed
1132 private void jMenuItem15ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem15ActionPerformed
1133 this.mainAction.actionCopySelectedStatusToTweetBoxPane();
1134 }//GEN-LAST:event_jMenuItem15ActionPerformed
1136 private void jMenuItem14ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem14ActionPerformed
1137 this.mainAction.actionSetQuoteStatusToTweetBoxPane();
1138 }//GEN-LAST:event_jMenuItem14ActionPerformed
1140 private void jMenuItem16ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem16ActionPerformed
1141 this.mainAction.actionShowDirectMessageDialog();
1142 }//GEN-LAST:event_jMenuItem16ActionPerformed
1144 private void jMenuItem17ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem17ActionPerformed
1145 this.mainAction.actionOpenStatusURL();
1146 }//GEN-LAST:event_jMenuItem17ActionPerformed
1148 private void jMenuItem18ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem18ActionPerformed
1149 this.mainAction.actionSelectedUserTimeline();
1150 }//GEN-LAST:event_jMenuItem18ActionPerformed
1152 private void jMenuItem21ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem21ActionPerformed
1153 this.mainAction.actionOpenUserURL();
1154 }//GEN-LAST:event_jMenuItem21ActionPerformed
1156 private void jMenuItem22ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem22ActionPerformed
1157 this.mainAction.actionOpenUserFav();
1158 }//GEN-LAST:event_jMenuItem22ActionPerformed
1160 private void jMenuItem19ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem19ActionPerformed
1161 this.mainAction.actionCreateFavorite();
1162 }//GEN-LAST:event_jMenuItem19ActionPerformed
1164 private void jMenuItem20ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem20ActionPerformed
1165 this.mainAction.actionDestroyFavorite();
1166 }//GEN-LAST:event_jMenuItem20ActionPerformed
1168 private void jMenuItem23ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem23ActionPerformed
1169 this.mainAction.actionShowHashtagSearchDialog();
1170 }//GEN-LAST:event_jMenuItem23ActionPerformed
1175 private void updateLen() {
1177 mainAction.actionUpdateTweetMessageCount();
1181 * @param args the command line arguments
1183 public static void main(String args[]) {
1184 java.awt.EventQueue.invokeLater(new Runnable() {
1190 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
1192 } catch (Exception e) {
1193 e.printStackTrace();
1195 new NishioTweetManager().setVisible(true);
1203 private void init() {
1205 boolean login = false;
1207 tweetManager.loginTwitter();
1209 } catch (Exception e) {
1210 e.printStackTrace();
1214 mainAction = new TweetMainAction(this, tweetManager, statusBar,
1215 jTextPane, jPanel3, tweetLengthLabel, jPanel1, jTabbedPane1, tweetMessageBox, userImageLabel,
1216 userNameLabel, updateTimeLabel, followerLabel, followingLabel, locationLabel,
1217 clientNameLabel, updateLabel, userIntroBox, userWebBox,
1218 jToggleButton3, jToggleButton4, jToggleButton5, jToggleButton6,
1219 jCheckBoxMenuItem3,jCheckBoxMenuItem4, jCheckBoxMenuItem5, jCheckBoxMenuItem6);
1220 //ハッシュタグ用のハイパーリンクリスナーにアクション登録
1221 this.hashTagHyperlinkListener.setMainAction(mainAction);
1222 //もしログインに失敗したら,アカウント設定画面を出す
1223 if (login == false) {
1224 mainAction.actionShowAccountDialog();
1228 //TODO:TL, Mention, DMのタブを表示するかしないかの設定を読み込んで反映するように
1229 this.mainAction.actionAddTimelineTab( this.mainAction.getGetTimelinePeriod() );
1230 this.mainAction.actionAddMentionTab( this.mainAction.getGetMentionPeriod() );
1231 this.mainAction.actionAddDirectMessageTab( this.mainAction.getGetDirectMessagePeriod() );
1232 //this.mainAction.actionAddSendDirectMessageTab( this.mainAction.getGetSendDirectMessagePeriod() );
1233 //フォーカスを一番初めのテーブルに移す
1234 this.mainAction.actionRequestFocusToTab(0);
1239 * チェックボックスすべてのチェック状態を更新
1241 public void updateSelectedInformation() {
1244 jCheckBoxMenuItem1.setSelected( mainAction.isDetailInfoPanelVisible() );
1245 jToggleButton1.setSelected( mainAction.isDetailInfoPanelVisible() );
1247 jCheckBoxMenuItem2.setSelected(mainAction.isShowTweetBoxVisible());
1248 jToggleButton2.setSelected( mainAction.isShowTweetBoxVisible() );
1250 mainAction.updateCheckboxInformation();
1253 //nishio tweet manager
1254 private JPopupMenu rightClickPopup = null;
1255 private TweetMainAction mainAction = null;
1257 private TweetManager tweetManager = new TweetManager();
1258 // Variables declaration - do not modify//GEN-BEGIN:variables
1259 private javax.swing.JEditorPane clientNameLabel;
1260 private javax.swing.JLabel followerLabel;
1261 private javax.swing.JLabel followingLabel;
1262 private javax.swing.JButton jButton1;
1263 private javax.swing.JButton jButton2;
1264 private javax.swing.JButton jButton4;
1265 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem1;
1266 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem2;
1267 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem3;
1268 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem4;
1269 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem5;
1270 private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem6;
1271 private javax.swing.JLabel jLabel12;
1272 private javax.swing.JLabel jLabel13;
1273 private javax.swing.JLabel jLabel15;
1274 private javax.swing.JLabel jLabel3;
1275 private javax.swing.JLabel jLabel4;
1276 private javax.swing.JLabel jLabel5;
1277 private javax.swing.JLabel jLabel9;
1278 private javax.swing.JMenu jMenu1;
1279 private javax.swing.JMenu jMenu2;
1280 private javax.swing.JMenu jMenu3;
1281 private javax.swing.JMenu jMenu4;
1282 private javax.swing.JMenu jMenu5;
1283 private javax.swing.JMenu jMenu6;
1284 private javax.swing.JMenuBar jMenuBar1;
1285 private javax.swing.JMenuItem jMenuItem1;
1286 private javax.swing.JMenuItem jMenuItem10;
1287 private javax.swing.JMenuItem jMenuItem11;
1288 private javax.swing.JMenuItem jMenuItem12;
1289 private javax.swing.JMenuItem jMenuItem13;
1290 private javax.swing.JMenuItem jMenuItem14;
1291 private javax.swing.JMenuItem jMenuItem15;
1292 private javax.swing.JMenuItem jMenuItem16;
1293 private javax.swing.JMenuItem jMenuItem17;
1294 private javax.swing.JMenuItem jMenuItem18;
1295 private javax.swing.JMenuItem jMenuItem19;
1296 private javax.swing.JMenuItem jMenuItem2;
1297 private javax.swing.JMenuItem jMenuItem20;
1298 private javax.swing.JMenuItem jMenuItem21;
1299 private javax.swing.JMenuItem jMenuItem22;
1300 private javax.swing.JMenuItem jMenuItem23;
1301 private javax.swing.JMenuItem jMenuItem3;
1302 private javax.swing.JMenuItem jMenuItem4;
1303 private javax.swing.JMenuItem jMenuItem5;
1304 private javax.swing.JMenuItem jMenuItem6;
1305 private javax.swing.JMenuItem jMenuItem7;
1306 private javax.swing.JMenuItem jMenuItem8;
1307 private javax.swing.JMenuItem jMenuItem9;
1308 private javax.swing.JPanel jPanel1;
1309 private javax.swing.JPanel jPanel2;
1310 private javax.swing.JPanel jPanel3;
1311 private javax.swing.JScrollPane jScrollPane5;
1312 private javax.swing.JScrollPane jScrollPane6;
1313 private javax.swing.JScrollPane jScrollPane7;
1314 private javax.swing.JScrollPane jScrollPane8;
1315 private javax.swing.JScrollPane jScrollPane9;
1316 private javax.swing.JToolBar.Separator jSeparator1;
1317 private javax.swing.JToolBar.Separator jSeparator2;
1318 private javax.swing.JToolBar.Separator jSeparator3;
1319 private javax.swing.JPopupMenu.Separator jSeparator4;
1320 private javax.swing.JPopupMenu.Separator jSeparator5;
1321 private javax.swing.JPopupMenu.Separator jSeparator6;
1322 private javax.swing.JTabbedPane jTabbedPane1;
1323 private javax.swing.JTextPane jTextPane;
1324 private javax.swing.JToggleButton jToggleButton1;
1325 private javax.swing.JToggleButton jToggleButton2;
1326 private javax.swing.JToggleButton jToggleButton3;
1327 private javax.swing.JToggleButton jToggleButton4;
1328 private javax.swing.JToggleButton jToggleButton5;
1329 private javax.swing.JToggleButton jToggleButton6;
1330 private javax.swing.JToolBar jToolBar1;
1331 private javax.swing.JLabel locationLabel;
1332 private javax.swing.JLabel statusBar;
1333 private javax.swing.JLabel tweetLengthLabel;
1334 private javax.swing.JEditorPane tweetMessageBox;
1335 private javax.swing.JLabel updateLabel;
1336 private javax.swing.JLabel updateTimeLabel;
1337 private javax.swing.JLabel userImageLabel;
1338 private javax.swing.JEditorPane userIntroBox;
1339 private javax.swing.JLabel userNameLabel;
1340 private javax.swing.JEditorPane userWebBox;
1341 // End of variables declaration//GEN-END:variables