6 * Created on 2009/11/30, 16:35:22
8 package nicobrowser.gui.config;
10 import java.io.IOException;
11 import java.util.logging.Level;
12 import java.util.logging.Logger;
13 import javax.swing.JFileChooser;
14 import javax.swing.JOptionPane;
15 import javax.swing.JTextField;
16 import javax.swing.UIManager;
17 import nicobrowser.Config;
18 import org.apache.commons.configuration.PropertiesConfiguration;
19 import org.apache.commons.io.FilenameUtils;
25 public class ConfigFrame extends javax.swing.JFrame {
27 private final Config config;
29 /** Creates new form ConfigFrame */
30 public ConfigFrame() {
32 configFileField.setText(Config.getConfigfile().getAbsolutePath());
33 feedFileField.setText(Config.getFeedUrlFile().getAbsolutePath());
34 config = Config.getInstance();
37 idField.setText(config.getNicoMail());
38 passField.setText(config.getNicoPassword());
41 String dbPath = FilenameUtils.getFullPathNoEndSeparator(config.getDbFile());
42 dbPathField.setText(dbPath);
43 flvPathField.setText(config.getSrcSaveDir());
46 waitSpinner.setValue(config.getWaitTime());
47 retrySpinner.setValue(config.getMaxRetry());
48 lowDownloadCheckBox.setSelected(config.needLowFile());
51 /** This method is called from within the constructor to
52 * initialize the form.
53 * WARNING: Do NOT modify this code. The content of this method is
54 * always regenerated by the Form Editor.
56 @SuppressWarnings("unchecked")
57 // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
58 private void initComponents() {
60 jPanel1 = new javax.swing.JPanel();
61 configFileField = new javax.swing.JTextField();
62 feedFileField = new javax.swing.JTextField();
63 configFileLabel = new javax.swing.JLabel();
64 feedFileLabel = new javax.swing.JLabel();
65 jLabel5 = new javax.swing.JLabel();
66 jPanel2 = new javax.swing.JPanel();
67 idLabel = new javax.swing.JLabel();
68 passLabel = new javax.swing.JLabel();
69 idField = new javax.swing.JTextField();
70 passField = new javax.swing.JPasswordField();
71 jPanel4 = new javax.swing.JPanel();
72 jLabel3 = new javax.swing.JLabel();
73 jLabel4 = new javax.swing.JLabel();
74 dbPathField = new javax.swing.JTextField();
75 flvPathField = new javax.swing.JTextField();
76 dbPathButton = new javax.swing.JButton();
77 flvPathButton = new javax.swing.JButton();
78 jPanel3 = new javax.swing.JPanel();
79 jLabel1 = new javax.swing.JLabel();
80 jLabel2 = new javax.swing.JLabel();
81 waitSpinner = new javax.swing.JSpinner();
82 retrySpinner = new javax.swing.JSpinner();
83 lowDownloadCheckBox = new javax.swing.JCheckBox();
84 jPanel5 = new javax.swing.JPanel();
85 savaButton = new javax.swing.JButton();
86 jPanel6 = new javax.swing.JPanel();
87 jTextField1 = new javax.swing.JTextField();
88 jScrollPane1 = new javax.swing.JScrollPane();
89 jTextArea1 = new javax.swing.JTextArea();
91 setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
92 setTitle("NicoBrowser - コンフィグ設定");
95 jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("情報"));
97 configFileField.setEditable(false);
99 feedFileField.setEditable(false);
101 configFileLabel.setText("コンフィグ,マイリスト");
103 feedFileLabel.setText("フィード(RSS)");
105 jLabel5.setText("マイリスト、フィードの設定は上記のファイルを直接エディタで開いて編集してください");
107 org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
108 jPanel1.setLayout(jPanel1Layout);
109 jPanel1Layout.setHorizontalGroup(
110 jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
111 .add(jPanel1Layout.createSequentialGroup()
112 .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
113 .add(configFileLabel)
115 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
116 .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
117 .add(feedFileField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 376, Short.MAX_VALUE)
118 .add(configFileField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 376, Short.MAX_VALUE)))
119 .add(jPanel1Layout.createSequentialGroup()
123 jPanel1Layout.setVerticalGroup(
124 jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
125 .add(jPanel1Layout.createSequentialGroup()
126 .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
127 .add(configFileField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
128 .add(configFileLabel))
129 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
130 .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
131 .add(feedFileField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
133 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
135 .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
138 jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("ニコニコ動画アカウント"));
140 idLabel.setText("ID(メールアドレス)");
142 passLabel.setText("パスワード");
144 org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
145 jPanel2.setLayout(jPanel2Layout);
146 jPanel2Layout.setHorizontalGroup(
147 jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
148 .add(jPanel2Layout.createSequentialGroup()
149 .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
152 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
153 .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
154 .add(passField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 377, Short.MAX_VALUE)
155 .add(idField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 377, Short.MAX_VALUE)))
157 jPanel2Layout.setVerticalGroup(
158 jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
159 .add(jPanel2Layout.createSequentialGroup()
160 .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
162 .add(idField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
163 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
164 .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
166 .add(passField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
169 jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("保存先"));
171 jLabel3.setText("履歴DB");
173 jLabel4.setText("動画ファイル");
175 dbPathButton.setText("...");
176 dbPathButton.addActionListener(new java.awt.event.ActionListener() {
177 public void actionPerformed(java.awt.event.ActionEvent evt) {
178 dbPathButtonActionPerformed(evt);
182 flvPathButton.setText("...");
183 flvPathButton.addActionListener(new java.awt.event.ActionListener() {
184 public void actionPerformed(java.awt.event.ActionEvent evt) {
185 flvPathButtonActionPerformed(evt);
189 org.jdesktop.layout.GroupLayout jPanel4Layout = new org.jdesktop.layout.GroupLayout(jPanel4);
190 jPanel4.setLayout(jPanel4Layout);
191 jPanel4Layout.setHorizontalGroup(
192 jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
193 .add(jPanel4Layout.createSequentialGroup()
194 .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
197 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
198 .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
199 .add(org.jdesktop.layout.GroupLayout.TRAILING, dbPathField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 356, Short.MAX_VALUE)
200 .add(org.jdesktop.layout.GroupLayout.TRAILING, flvPathField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 356, Short.MAX_VALUE))
201 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
202 .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
203 .add(org.jdesktop.layout.GroupLayout.TRAILING, flvPathButton)
204 .add(org.jdesktop.layout.GroupLayout.TRAILING, dbPathButton)))
206 jPanel4Layout.setVerticalGroup(
207 jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
208 .add(jPanel4Layout.createSequentialGroup()
209 .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
212 .add(dbPathField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
213 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
214 .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
217 .add(flvPathField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
220 jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("動作"));
222 jLabel1.setText("ダウンロード間隔(秒)");
224 jLabel2.setText("失敗時リトライ回数");
226 lowDownloadCheckBox.setText("エコノミー動画をダウンロードする");
228 org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3);
229 jPanel3.setLayout(jPanel3Layout);
230 jPanel3Layout.setHorizontalGroup(
231 jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
232 .add(jPanel3Layout.createSequentialGroup()
233 .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
234 .add(jPanel3Layout.createSequentialGroup()
236 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
237 .add(waitSpinner, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 46, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
238 .add(jPanel3Layout.createSequentialGroup()
240 .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
243 .add(lowDownloadCheckBox)
244 .addContainerGap(124, Short.MAX_VALUE))
246 jPanel3Layout.setVerticalGroup(
247 jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
248 .add(jPanel3Layout.createSequentialGroup()
249 .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
251 .add(waitSpinner, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
252 .add(lowDownloadCheckBox))
253 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
254 .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
256 .add(retrySpinner, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
259 jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
261 savaButton.setText("保存");
262 savaButton.addActionListener(new java.awt.event.ActionListener() {
263 public void actionPerformed(java.awt.event.ActionEvent evt) {
264 savaButtonActionPerformed(evt);
268 org.jdesktop.layout.GroupLayout jPanel5Layout = new org.jdesktop.layout.GroupLayout(jPanel5);
269 jPanel5.setLayout(jPanel5Layout);
270 jPanel5Layout.setHorizontalGroup(
271 jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
272 .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel5Layout.createSequentialGroup()
273 .addContainerGap(407, Short.MAX_VALUE)
276 jPanel5Layout.setVerticalGroup(
277 jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
281 jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder("ファイル名規則"));
283 jTextArea1.setColumns(20);
284 jTextArea1.setEditable(false);
285 jTextArea1.setLineWrap(true);
286 jTextArea1.setRows(5);
287 jTextArea1.setText("{title}: 動画タイトル\n{id}: ニコニコ動画ID\n{low}: エコノミー動画であれば\"low\"の文字列、通常動画は空文字列");
288 jScrollPane1.setViewportView(jTextArea1);
290 org.jdesktop.layout.GroupLayout jPanel6Layout = new org.jdesktop.layout.GroupLayout(jPanel6);
291 jPanel6.setLayout(jPanel6Layout);
292 jPanel6Layout.setHorizontalGroup(
293 jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
294 .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel6Layout.createSequentialGroup()
295 .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
296 .add(org.jdesktop.layout.GroupLayout.LEADING, jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 452, Short.MAX_VALUE)
297 .add(jTextField1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 452, Short.MAX_VALUE))
300 jPanel6Layout.setVerticalGroup(
301 jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
302 .add(jPanel6Layout.createSequentialGroup()
303 .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
304 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
305 .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 71, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
308 org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
309 getContentPane().setLayout(layout);
310 layout.setHorizontalGroup(
311 layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
312 .add(layout.createSequentialGroup()
313 .add(jPanel5, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
315 .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
316 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
317 .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
318 .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
319 .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
320 .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel6, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
321 .add(jPanel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
324 layout.setVerticalGroup(
325 layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
326 .add(layout.createSequentialGroup()
327 .add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 90, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
328 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
329 .add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
330 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
331 .add(jPanel4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
332 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
333 .add(jPanel6, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
334 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
335 .add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
336 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
337 .add(jPanel5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
342 }// </editor-fold>//GEN-END:initComponents
344 private void dbPathButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dbPathButtonActionPerformed
345 setPathField(dbPathField);
346 }//GEN-LAST:event_dbPathButtonActionPerformed
348 private void flvPathButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_flvPathButtonActionPerformed
349 setPathField(flvPathField);
350 }//GEN-LAST:event_flvPathButtonActionPerformed
352 private void savaButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_savaButtonActionPerformed
353 PropertiesConfiguration p = new PropertiesConfiguration();
355 p.setProperty(Config.P_NICOVIDEO_MAIL, idField.getText());
356 p.setProperty(Config.P_NICOVIDEO_PASSWORD, String.valueOf(passField.getPassword()));
358 p.setProperty(Config.P_PATH_DB, dbPathField.getText());
359 p.setProperty(Config.P_PATH_SAVEFILE, flvPathField.getText());
361 p.setProperty(Config.P_DOWNLOAD_WAIT, waitSpinner.getValue().toString());
362 p.setProperty(Config.P_DOWNLOAD_RETRY, retrySpinner.getValue().toString());
363 p.setProperty(Config.P_DOWNLOAD_LOW, Boolean.toString(lowDownloadCheckBox.isSelected()));
365 config.updateConfigFile(p);
366 JOptionPane.showMessageDialog(this, Config.getConfigfile().getAbsolutePath() + "\nを更新しました");
367 } catch (IOException ex) {
368 Logger.getLogger(ConfigFrame.class.getName()).log(Level.SEVERE, null, ex);
369 JOptionPane.showMessageDialog(this, "保存に失敗しました", "エラー", JOptionPane.ERROR_MESSAGE);
371 }//GEN-LAST:event_savaButtonActionPerformed
373 private void setPathField(JTextField field) {
374 String current = field.getText();
375 JFileChooser fc = new JFileChooser(current);
376 fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
377 int ret = fc.showDialog(this, "選択");
378 if (ret == JFileChooser.APPROVE_OPTION) {
379 String selectPath = fc.getSelectedFile().getAbsolutePath();
380 field.setText(selectPath);
385 * @param args the command line arguments
387 public static void main(String args[]) {
389 java.awt.EventQueue.invokeLater(new Runnable() {
392 new ConfigFrame().setVisible(true);
397 public static void setLookAndFeel() {
398 UIManager.LookAndFeelInfo[] lafs = UIManager.getInstalledLookAndFeels();
399 String lafClassName = UIManager.getSystemLookAndFeelClassName();
401 UIManager.setLookAndFeel(lafClassName);
402 } catch (Exception ex) {
405 // Variables declaration - do not modify//GEN-BEGIN:variables
406 private javax.swing.JTextField configFileField;
407 private javax.swing.JLabel configFileLabel;
408 private javax.swing.JButton dbPathButton;
409 private javax.swing.JTextField dbPathField;
410 private javax.swing.JTextField feedFileField;
411 private javax.swing.JLabel feedFileLabel;
412 private javax.swing.JButton flvPathButton;
413 private javax.swing.JTextField flvPathField;
414 private javax.swing.JTextField idField;
415 private javax.swing.JLabel idLabel;
416 private javax.swing.JLabel jLabel1;
417 private javax.swing.JLabel jLabel2;
418 private javax.swing.JLabel jLabel3;
419 private javax.swing.JLabel jLabel4;
420 private javax.swing.JLabel jLabel5;
421 private javax.swing.JPanel jPanel1;
422 private javax.swing.JPanel jPanel2;
423 private javax.swing.JPanel jPanel3;
424 private javax.swing.JPanel jPanel4;
425 private javax.swing.JPanel jPanel5;
426 private javax.swing.JPanel jPanel6;
427 private javax.swing.JScrollPane jScrollPane1;
428 private javax.swing.JTextArea jTextArea1;
429 private javax.swing.JTextField jTextField1;
430 private javax.swing.JCheckBox lowDownloadCheckBox;
431 private javax.swing.JPasswordField passField;
432 private javax.swing.JLabel passLabel;
433 private javax.swing.JSpinner retrySpinner;
434 private javax.swing.JButton savaButton;
435 private javax.swing.JSpinner waitSpinner;
436 // End of variables declaration//GEN-END:variables