/[svn]/jsampler/trunk/src/org/jsampler/view/classic/JSamplerHomeChooser.java
ViewVC logotype

Annotation of /jsampler/trunk/src/org/jsampler/view/classic/JSamplerHomeChooser.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1144 - (hide annotations) (download)
Mon Apr 2 21:39:15 2007 UTC (17 years, 1 month ago) by iliev
File size: 3316 byte(s)
- upgrading to version 0.4a

1 iliev 1144 /*
2     * JSampler - a java front-end for LinuxSampler
3     *
4     * Copyright (C) 2005-2006 Grigor Iliev <grigor@grigoriliev.com>
5     *
6     * This file is part of JSampler.
7     *
8     * JSampler is free software; you can redistribute it and/or modify
9     * it under the terms of the GNU General Public License version 2
10     * as published by the Free Software Foundation.
11     *
12     * JSampler is distributed in the hope that it will be useful,
13     * but WITHOUT ANY WARRANTY; without even the implied warranty of
14     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     * GNU General Public License for more details.
16     *
17     * You should have received a copy of the GNU General Public License
18     * along with JSampler; if not, write to the Free Software
19     * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20     * MA 02111-1307 USA
21     */
22    
23     package org.jsampler.view.classic;
24    
25     import java.awt.Dimension;
26     import java.awt.Frame;
27     import java.awt.event.ActionEvent;
28     import java.awt.event.ActionListener;
29    
30     import java.io.File;
31    
32     import javax.swing.Box;
33     import javax.swing.BoxLayout;
34     import javax.swing.JButton;
35     import javax.swing.JFileChooser;
36     import javax.swing.JOptionPane;
37     import javax.swing.JPanel;
38     import javax.swing.JTextField;
39    
40     import net.sf.juife.OkCancelDialog;
41    
42     import org.jsampler.CC;
43    
44     import static org.jsampler.view.classic.ClassicI18n.i18n;
45    
46     /**
47     *
48     * @author Grigor Iliev
49     */
50     public class JSamplerHomeChooser extends OkCancelDialog {
51     private final static JTextField tfHome = new JTextField();
52    
53     private final JButton btnBrowse =
54     new JButton(i18n.getLabel("JSamplerHomeChooser.btnBrowse"));
55    
56    
57     /** Creates a new instance of JSamplerHomeChooser */
58     public JSamplerHomeChooser(Frame owner) {
59     super(owner, i18n.getLabel("JSamplerHomeChooser.title"));
60    
61     JPanel p = new JPanel();
62     p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS));
63     Dimension d = new Dimension(Short.MAX_VALUE, tfHome.getPreferredSize().height);
64     tfHome.setMaximumSize(d);
65     p.add(tfHome);
66     p.add(Box.createRigidArea(new Dimension(6, 0)));
67     p.add(btnBrowse);
68    
69     p.setPreferredSize(new Dimension(350, p.getPreferredSize().height));
70    
71     setMainPane(p);
72    
73     if(CC.getJSamplerHome() != null) tfHome.setText(CC.getJSamplerHome());
74     else tfHome.setText(System.getProperty("user.home") + File.separator + ".jsampler");
75    
76     btnBrowse.addActionListener(new ActionListener() {
77     public void
78     actionPerformed(ActionEvent e) { onBrowse(); }
79     });
80    
81     btnBrowse.requestFocusInWindow();
82     this.setResizable(true);
83     }
84    
85     private void
86     onBrowse() {
87     JFileChooser fc = new JFileChooser();
88     fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
89     int result = fc.showOpenDialog(this);
90     if(result != JFileChooser.APPROVE_OPTION) return;
91    
92     tfHome.setText(fc.getSelectedFile().getPath() + File.separator + ".jsampler");
93     btnOk.requestFocusInWindow();
94    
95     }
96    
97     protected void
98     onOk() {
99     if(tfHome.getText().length() == 0) {
100     JOptionPane.showMessageDialog (
101     this, i18n.getLabel("JSamplerHomeChooser.selectFile"),
102     "",
103     JOptionPane.INFORMATION_MESSAGE
104     );
105    
106     return;
107     }
108    
109     setVisible(false);
110     }
111    
112     protected void
113     onCancel() { setVisible(false); }
114    
115     /**
116     * Gets the specified JSampler's home location.
117     * @return The specified JSampler's home location.
118     */
119     public String
120     getJSamplerHome() { return tfHome.getText(); }
121     }

  ViewVC Help
Powered by ViewVC