OSDN Git Service

Configuration Dialogの一部UIがガタガタしていたのを修正 #26076
[nt-manager/nt-manager.git] / src / twitter / gui / form / ConfigurationDialog.java
1 /*
2  * To change this template, choose Tools | Templates
3  * and open the template in the editor.
4  */
5
6 /*
7  * ConfigurationDialog2.java
8  *
9  * Created on 2010/09/18, 1:41:32
10  */
11
12 package twitter.gui.form;
13
14 import java.awt.Color;
15 import java.awt.GraphicsEnvironment;
16 import java.io.IOException;
17 import java.util.logging.Level;
18 import java.util.logging.Logger;
19 import javax.swing.DefaultComboBoxModel;
20 import javax.swing.JColorChooser;
21 import twitter.gui.action.TweetMainAction;
22
23 /**
24  *
25  * @author nishio
26  */
27 public class ConfigurationDialog extends javax.swing.JDialog {
28
29     /** Creates new form ConfigurationDialog2 */
30     public ConfigurationDialog(java.awt.Frame parent, boolean modal, TweetMainAction mainAction) {
31         super(parent, modal);
32         initComponents();
33
34         this.mainAction = mainAction;
35         init();
36     }
37
38     /**
39      * 初期化
40      */
41     public void init() {
42         // 利用可能なフォント一覧を取得しておく
43                 this.fonts = GraphicsEnvironment.getLocalGraphicsEnvironment()
44                                 .getAvailableFontFamilyNames();
45                 // 利用可能なフォント一覧を設定しておく
46                 if (fonts != null) {
47                         for (String f : fonts) {
48                                 fontModel.addElement(f);
49                                 fontModel2.addElement(f);
50                         }
51                 }
52                 // 利用可能なフォントサイズを設定しておく
53                 String[] fontSize = { "8", "9", "10", "11", "12", "13", "14", "15",
54                                 "16", "17", "18" };
55                 for (String f : fontSize) {
56                         fontSizeModel.addElement(f);
57                         fontSizeModel2.addElement(f);
58                 }
59
60         //読み込んだ情報を反映
61         applyLoadInformation();
62     }
63
64     /**
65      * 読み込んだ情報を反映
66      */
67     public void applyLoadInformation() {
68         try {
69             // 画面が見えたときに情報更新
70             jSpinner1.setValue( mainAction.getGetTimelinePeriod() );
71             jSpinner2.setValue( mainAction.getGetMentionPeriod() );
72             jSpinner3.setValue( mainAction.getGetDirectMessagePeriod() );
73             jSpinner4.setValue( mainAction.getGetSendDirectMessagePeriod() );
74
75                         jLabel10.setBackground(mainAction.getNewTableColor());
76
77                         // font関係
78                         if (mainAction.getTlFontName() != null) {
79                                 jComboBox1.setSelectedItem(mainAction.getTlFontName());
80                         }
81                         if (mainAction.getDetailFontName() != null) {
82                                 jComboBox2.setSelectedItem(mainAction.getDetailFontName());
83                         }
84                         jComboBox3.setSelectedItem(mainAction.getTlFontSize() + "");
85                         jComboBox4.setSelectedItem(mainAction.getDetailFontSize() + "");
86
87                         // 表示
88                         jSpinner5.setValue(mainAction.getTableElementHeight());
89                         jCheckBox1.setSelected( mainAction.getNotifyMention() );
90                         jCheckBox2.setSelected( mainAction.getNotifyDirectMessage() );
91             
92                 } catch (Exception e) {
93                         e.printStackTrace();
94                 }
95     }
96
97     /**
98      * 
99      */
100     @Override
101         public void setVisible(boolean b) {
102                 super.setVisible(b);
103         applyLoadInformation();
104         }
105
106
107     /** This method is called from within the constructor to
108      * initialize the form.
109      * WARNING: Do NOT modify this code. The content of this method is
110      * always regenerated by the Form Editor.
111      */
112     @SuppressWarnings("unchecked")
113     // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
114     private void initComponents() {
115
116         jTabbedPane1 = new javax.swing.JTabbedPane();
117         jPanel1 = new javax.swing.JPanel();
118         jLabel1 = new javax.swing.JLabel();
119         jSpinner1 = new javax.swing.JSpinner();
120         jLabel2 = new javax.swing.JLabel();
121         jSpinner2 = new javax.swing.JSpinner();
122         jLabel3 = new javax.swing.JLabel();
123         jSpinner3 = new javax.swing.JSpinner();
124         jLabel4 = new javax.swing.JLabel();
125         jSpinner4 = new javax.swing.JSpinner();
126         jPanel2 = new javax.swing.JPanel();
127         jLabel5 = new javax.swing.JLabel();
128         jLabel6 = new javax.swing.JLabel();
129         jLabel7 = new javax.swing.JLabel();
130         jLabel8 = new javax.swing.JLabel();
131         jComboBox1 = new javax.swing.JComboBox();
132         jComboBox2 = new javax.swing.JComboBox();
133         jComboBox3 = new javax.swing.JComboBox();
134         jComboBox4 = new javax.swing.JComboBox();
135         jPanel3 = new javax.swing.JPanel();
136         jLabel9 = new javax.swing.JLabel();
137         jPanel5 = new javax.swing.JPanel();
138         jLabel10 = new javax.swing.JLabel();
139         jPanel4 = new javax.swing.JPanel();
140         jLabel11 = new javax.swing.JLabel();
141         jSpinner5 = new javax.swing.JSpinner();
142         jCheckBox1 = new javax.swing.JCheckBox();
143         jCheckBox2 = new javax.swing.JCheckBox();
144         jButton1 = new javax.swing.JButton();
145         jButton2 = new javax.swing.JButton();
146
147         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
148         setTitle("基本設定");
149
150         jTabbedPane1.setPreferredSize(new java.awt.Dimension(318, 341));
151
152         jLabel1.setText("タイムライン更新間隔 [秒]");
153
154         jSpinner1.addChangeListener(new javax.swing.event.ChangeListener() {
155             public void stateChanged(javax.swing.event.ChangeEvent evt) {
156                 jSpinner1StateChanged(evt);
157             }
158         });
159
160         jLabel2.setText("Mention更新間隔 [秒]");
161
162         jSpinner2.addChangeListener(new javax.swing.event.ChangeListener() {
163             public void stateChanged(javax.swing.event.ChangeEvent evt) {
164                 jSpinner2StateChanged(evt);
165             }
166         });
167
168         jLabel3.setText("ダイレクトメッセージ更新間隔 [秒]");
169
170         jSpinner3.addChangeListener(new javax.swing.event.ChangeListener() {
171             public void stateChanged(javax.swing.event.ChangeEvent evt) {
172                 jSpinner3StateChanged(evt);
173             }
174         });
175
176         jLabel4.setText("送信済みダイレクトメッセージ更新間隔 [秒]");
177
178         jSpinner4.addChangeListener(new javax.swing.event.ChangeListener() {
179             public void stateChanged(javax.swing.event.ChangeEvent evt) {
180                 jSpinner4StateChanged(evt);
181             }
182         });
183
184         javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
185         jPanel1.setLayout(jPanel1Layout);
186         jPanel1Layout.setHorizontalGroup(
187             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
188             .addGroup(jPanel1Layout.createSequentialGroup()
189                 .addContainerGap()
190                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
191                     .addComponent(jLabel1)
192                     .addComponent(jLabel2)
193                     .addComponent(jLabel3)
194                     .addComponent(jLabel4))
195                 .addGap(24, 24, 24)
196                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
197                     .addComponent(jSpinner4, javax.swing.GroupLayout.DEFAULT_SIZE, 204, Short.MAX_VALUE)
198                     .addComponent(jSpinner3, javax.swing.GroupLayout.DEFAULT_SIZE, 204, Short.MAX_VALUE)
199                     .addComponent(jSpinner2, javax.swing.GroupLayout.DEFAULT_SIZE, 204, Short.MAX_VALUE)
200                     .addComponent(jSpinner1, javax.swing.GroupLayout.DEFAULT_SIZE, 204, Short.MAX_VALUE))
201                 .addContainerGap())
202         );
203         jPanel1Layout.setVerticalGroup(
204             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
205             .addGroup(jPanel1Layout.createSequentialGroup()
206                 .addContainerGap()
207                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
208                     .addComponent(jLabel1)
209                     .addComponent(jSpinner1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
210                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
211                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
212                     .addComponent(jLabel2)
213                     .addComponent(jSpinner2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
214                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
215                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
216                     .addComponent(jLabel3)
217                     .addComponent(jSpinner3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
218                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
219                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
220                     .addComponent(jLabel4)
221                     .addComponent(jSpinner4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
222                 .addContainerGap(206, Short.MAX_VALUE))
223         );
224
225         jTabbedPane1.addTab("更新間隔設定", jPanel1);
226
227         jLabel5.setText("タイムラインのフォント");
228
229         jLabel6.setText("詳細情報のフォント");
230
231         jLabel7.setText("タイムラインのフォントサイズ");
232
233         jLabel8.setText("詳細情報のフォントサイズ");
234
235         jComboBox1.setModel(fontModel);
236
237         jComboBox2.setModel(fontModel2);
238
239         jComboBox3.setModel(fontSizeModel);
240
241         jComboBox4.setModel(fontSizeModel2);
242
243         javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
244         jPanel2.setLayout(jPanel2Layout);
245         jPanel2Layout.setHorizontalGroup(
246             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
247             .addGroup(jPanel2Layout.createSequentialGroup()
248                 .addContainerGap()
249                 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
250                     .addComponent(jLabel5)
251                     .addComponent(jLabel6)
252                     .addComponent(jLabel7)
253                     .addComponent(jLabel8))
254                 .addGap(23, 23, 23)
255                 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
256                     .addComponent(jComboBox4, 0, 229, Short.MAX_VALUE)
257                     .addComponent(jComboBox3, 0, 229, Short.MAX_VALUE)
258                     .addComponent(jComboBox2, 0, 229, Short.MAX_VALUE)
259                     .addComponent(jComboBox1, 0, 229, Short.MAX_VALUE))
260                 .addContainerGap())
261         );
262         jPanel2Layout.setVerticalGroup(
263             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
264             .addGroup(jPanel2Layout.createSequentialGroup()
265                 .addContainerGap()
266                 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
267                     .addComponent(jLabel5)
268                     .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
269                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
270                 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
271                     .addComponent(jLabel6)
272                     .addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
273                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
274                 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
275                     .addComponent(jLabel7)
276                     .addComponent(jComboBox3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
277                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
278                 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
279                     .addComponent(jLabel8)
280                     .addComponent(jComboBox4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
281                 .addContainerGap(198, Short.MAX_VALUE))
282         );
283
284         jTabbedPane1.addTab("フォント", jPanel2);
285
286         jLabel9.setText("最新情報の背景色");
287
288         jPanel5.setBorder(javax.swing.BorderFactory.createEtchedBorder());
289
290         jLabel10.setBackground(java.awt.Color.black);
291         jLabel10.setOpaque(true);
292         jLabel10.addMouseListener(new java.awt.event.MouseAdapter() {
293             public void mouseClicked(java.awt.event.MouseEvent evt) {
294                 jLabel10MouseClicked(evt);
295             }
296         });
297
298         javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
299         jPanel5.setLayout(jPanel5Layout);
300         jPanel5Layout.setHorizontalGroup(
301             jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
302             .addComponent(jLabel10, javax.swing.GroupLayout.DEFAULT_SIZE, 328, Short.MAX_VALUE)
303         );
304         jPanel5Layout.setVerticalGroup(
305             jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
306             .addComponent(jLabel10, javax.swing.GroupLayout.DEFAULT_SIZE, 26, Short.MAX_VALUE)
307         );
308
309         javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
310         jPanel3.setLayout(jPanel3Layout);
311         jPanel3Layout.setHorizontalGroup(
312             jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
313             .addGroup(jPanel3Layout.createSequentialGroup()
314                 .addContainerGap()
315                 .addComponent(jLabel9)
316                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
317                 .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
318                 .addContainerGap())
319         );
320         jPanel3Layout.setVerticalGroup(
321             jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
322             .addGroup(jPanel3Layout.createSequentialGroup()
323                 .addContainerGap()
324                 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
325                     .addComponent(jLabel9, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
326                     .addComponent(jPanel5, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
327                 .addContainerGap(274, Short.MAX_VALUE))
328         );
329
330         jTabbedPane1.addTab("カラー", jPanel3);
331
332         jLabel11.setText("タイムラインのテーブルの高さ");
333
334         jSpinner5.addChangeListener(new javax.swing.event.ChangeListener() {
335             public void stateChanged(javax.swing.event.ChangeEvent evt) {
336                 jSpinner5StateChanged(evt);
337             }
338         });
339
340         jCheckBox1.setSelected(true);
341         jCheckBox1.setText("自分宛のMentionメッセージをタスクバーから通知する");
342         jCheckBox1.addActionListener(new java.awt.event.ActionListener() {
343             public void actionPerformed(java.awt.event.ActionEvent evt) {
344                 jCheckBox1ActionPerformed(evt);
345             }
346         });
347
348         jCheckBox2.setSelected(true);
349         jCheckBox2.setText("自分宛のDirectメッセージをタスクバーから通知する");
350
351         javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
352         jPanel4.setLayout(jPanel4Layout);
353         jPanel4Layout.setHorizontalGroup(
354             jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
355             .addGroup(jPanel4Layout.createSequentialGroup()
356                 .addContainerGap()
357                 .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
358                     .addGroup(jPanel4Layout.createSequentialGroup()
359                         .addComponent(jLabel11)
360                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
361                         .addComponent(jSpinner5, javax.swing.GroupLayout.DEFAULT_SIZE, 297, Short.MAX_VALUE))
362                     .addComponent(jCheckBox1, javax.swing.GroupLayout.DEFAULT_SIZE, 431, Short.MAX_VALUE)
363                     .addComponent(jCheckBox2, javax.swing.GroupLayout.DEFAULT_SIZE, 431, Short.MAX_VALUE))
364                 .addContainerGap())
365         );
366         jPanel4Layout.setVerticalGroup(
367             jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
368             .addGroup(jPanel4Layout.createSequentialGroup()
369                 .addContainerGap()
370                 .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
371                     .addComponent(jLabel11, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
372                     .addComponent(jSpinner5, javax.swing.GroupLayout.Alignment.LEADING))
373                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
374                 .addComponent(jCheckBox1)
375                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
376                 .addComponent(jCheckBox2)
377                 .addContainerGap(240, Short.MAX_VALUE))
378         );
379
380         jTabbedPane1.addTab("表示", jPanel4);
381
382         jButton1.setText("設定を保存");
383         jButton1.addActionListener(new java.awt.event.ActionListener() {
384             public void actionPerformed(java.awt.event.ActionEvent evt) {
385                 jButton1ActionPerformed(evt);
386             }
387         });
388
389         jButton2.setText("キャンセル");
390         jButton2.addActionListener(new java.awt.event.ActionListener() {
391             public void actionPerformed(java.awt.event.ActionEvent evt) {
392                 jButton2ActionPerformed(evt);
393             }
394         });
395
396         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
397         getContentPane().setLayout(layout);
398         layout.setHorizontalGroup(
399             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
400             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
401                 .addContainerGap(227, Short.MAX_VALUE)
402                 .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE)
403                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
404                 .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 116, javax.swing.GroupLayout.PREFERRED_SIZE)
405                 .addGap(8, 8, 8))
406             .addGroup(layout.createSequentialGroup()
407                 .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 460, Short.MAX_VALUE)
408                 .addContainerGap())
409         );
410         layout.setVerticalGroup(
411             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
412             .addGroup(layout.createSequentialGroup()
413                 .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 341, javax.swing.GroupLayout.PREFERRED_SIZE)
414                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
415                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
416                     .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
417                     .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE))
418                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
419         );
420
421         pack();
422     }// </editor-fold>//GEN-END:initComponents
423
424     private void jLabel10MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel10MouseClicked
425         Color c = JColorChooser.showDialog(this, "テーブルカラーの選択",
426                 mainAction.getNewTableColor());
427         if (c != null) {
428             jLabel10.setBackground(c);
429         }
430     }//GEN-LAST:event_jLabel10MouseClicked
431
432     private void jSpinner5StateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jSpinner5StateChanged
433                 // テーブルの高さを更新
434         Integer val = Integer.parseInt( jSpinner5.getValue().toString() );
435         if( val == null ) {
436             val = 50;
437         }
438         if( val < 0 ) {
439             val = 0;
440             jSpinner5.setValue(0);
441         }
442         mainAction.updateTableHeight( val );
443     }//GEN-LAST:event_jSpinner5StateChanged
444
445     private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
446         this.setVisible(false);
447     }//GEN-LAST:event_jButton2ActionPerformed
448
449     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
450         try {
451             // 更新間隔情報
452             mainAction.setGetTimelinePeriod(Integer.parseInt(jSpinner1.getValue().toString()));
453             mainAction.setGetMentionPeriod(Integer.parseInt(jSpinner2.getValue().toString()));
454             mainAction.setGetDirectMessagePeriod(Integer.parseInt(jSpinner3.getValue().toString()));
455             mainAction.setGetSendDirectMessagePeriod(Integer.parseInt(jSpinner4.getValue().toString()));
456
457             mainAction.setNewTableColor(jLabel10.getBackground());
458
459             // フォント情報
460             mainAction.setTlFontName((String) jComboBox1.getSelectedItem());
461             mainAction.setDetailFontName((String) jComboBox2.getSelectedItem());
462             mainAction.setTlFontSize(Integer.parseInt((String) jComboBox3.getSelectedItem()));
463             mainAction.setDetailFontSize(Integer.parseInt((String) jComboBox4.getSelectedItem()));
464             // フォント情報反映
465             mainAction.updateFontInformationToComponent();
466
467             //更新間隔反映
468             mainAction.updatePeriodInformationToComponent();
469
470             // 表示
471             mainAction.setTableElementHeight(Integer.parseInt( jSpinner5.getValue().toString() ));
472             mainAction.setNotifyMention( jCheckBox1.isSelected() );
473             mainAction.setNotifyDirectMessage( jCheckBox2.isSelected() );
474         } catch (Exception e1) {
475             e1.printStackTrace();
476         }
477
478         try {
479             //設定保存
480             mainAction.saveProperties();
481         } catch (IOException ex) {
482             Logger.getLogger(ConfigurationDialog.class.getName()).log(Level.SEVERE, null, ex);
483         }
484
485         this.setVisible(false);
486     }//GEN-LAST:event_jButton1ActionPerformed
487
488     private void jSpinner1StateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jSpinner1StateChanged
489         Integer val = Integer.parseInt(jSpinner1.getValue().toString());
490         if (val == null) {
491             //最小値30
492             val = MIN_PERIOD * 2;
493         }
494         if (val < MIN_PERIOD) {
495             val = MIN_PERIOD;
496             jSpinner1.setValue(MIN_PERIOD);
497         }
498     }//GEN-LAST:event_jSpinner1StateChanged
499
500     private void jSpinner2StateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jSpinner2StateChanged
501         Integer val = Integer.parseInt(jSpinner2.getValue().toString());
502         if (val == null) {
503             //最小値30
504             val = MIN_PERIOD * 2;
505         }
506         if (val < MIN_PERIOD) {
507             val = MIN_PERIOD;
508             jSpinner2.setValue(MIN_PERIOD);
509         }
510     }//GEN-LAST:event_jSpinner2StateChanged
511
512     private void jSpinner3StateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jSpinner3StateChanged
513         Integer val = Integer.parseInt(jSpinner3.getValue().toString());
514         if (val == null) {
515             //最小値30
516             val = MIN_PERIOD * 2;
517         }
518         if (val < MIN_PERIOD) {
519             val = MIN_PERIOD;
520             jSpinner3.setValue(MIN_PERIOD);
521         }
522     }//GEN-LAST:event_jSpinner3StateChanged
523
524     private void jSpinner4StateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jSpinner4StateChanged
525         Integer val = Integer.parseInt(jSpinner4.getValue().toString());
526         if (val == null) {
527             //最小値30
528             val = MIN_PERIOD * 2;
529         }
530         if (val < MIN_PERIOD) {
531             val = MIN_PERIOD;
532             jSpinner4.setValue(MIN_PERIOD);
533         }
534     }//GEN-LAST:event_jSpinner4StateChanged
535
536     private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBox1ActionPerformed
537         // TODO add your handling code here:
538     }//GEN-LAST:event_jCheckBox1ActionPerformed
539
540     //twitter
541     private TweetMainAction mainAction;
542     // 利用可能なフォント一覧
543         private String[] fonts = null;
544     // フォント一覧コンボボックスのモデル
545         private final DefaultComboBoxModel fontModel = new DefaultComboBoxModel();
546         private final DefaultComboBoxModel fontModel2 = new DefaultComboBoxModel();
547         // フォントサイズコンボボックスのモデル
548         private final DefaultComboBoxModel fontSizeModel = new DefaultComboBoxModel();
549         private final DefaultComboBoxModel fontSizeModel2 = new DefaultComboBoxModel();
550
551     //情報更新最小値
552     private final int MIN_PERIOD = 30;
553
554     // Variables declaration - do not modify//GEN-BEGIN:variables
555     private javax.swing.JButton jButton1;
556     private javax.swing.JButton jButton2;
557     private javax.swing.JCheckBox jCheckBox1;
558     private javax.swing.JCheckBox jCheckBox2;
559     private javax.swing.JComboBox jComboBox1;
560     private javax.swing.JComboBox jComboBox2;
561     private javax.swing.JComboBox jComboBox3;
562     private javax.swing.JComboBox jComboBox4;
563     private javax.swing.JLabel jLabel1;
564     private javax.swing.JLabel jLabel10;
565     private javax.swing.JLabel jLabel11;
566     private javax.swing.JLabel jLabel2;
567     private javax.swing.JLabel jLabel3;
568     private javax.swing.JLabel jLabel4;
569     private javax.swing.JLabel jLabel5;
570     private javax.swing.JLabel jLabel6;
571     private javax.swing.JLabel jLabel7;
572     private javax.swing.JLabel jLabel8;
573     private javax.swing.JLabel jLabel9;
574     private javax.swing.JPanel jPanel1;
575     private javax.swing.JPanel jPanel2;
576     private javax.swing.JPanel jPanel3;
577     private javax.swing.JPanel jPanel4;
578     private javax.swing.JPanel jPanel5;
579     private javax.swing.JSpinner jSpinner1;
580     private javax.swing.JSpinner jSpinner2;
581     private javax.swing.JSpinner jSpinner3;
582     private javax.swing.JSpinner jSpinner4;
583     private javax.swing.JSpinner jSpinner5;
584     private javax.swing.JTabbedPane jTabbedPane1;
585     // End of variables declaration//GEN-END:variables
586
587 }