From 615ec2d1a5a947514ff881edde03c96934a583c3 Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 11 Nov 2013 17:45:50 +0200 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=B1=D1=81=D1=82=D1=80=D0=B0=D0=BA?= =?UTF-8?q?=D1=82=D0=BD=D1=8B=D0=B9=20=D0=B2=D1=8B=D0=B1=D0=BE=D1=80=20?= =?UTF-8?q?=D0=BF=D0=B0=D0=BF=D0=BA=D0=B8=20=D0=B4=D0=BB=D1=8F=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B9=203,=204,=205?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/tse/lr3/AbstractDirectoryChooser.java | 57 +++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/tse/lr3/AbstractDirectoryChooser.java diff --git a/src/tse/lr3/AbstractDirectoryChooser.java b/src/tse/lr3/AbstractDirectoryChooser.java new file mode 100644 index 0000000..7524dc8 --- /dev/null +++ b/src/tse/lr3/AbstractDirectoryChooser.java @@ -0,0 +1,57 @@ +package tse.lr3; + +import java.awt.Component; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.File; +import javax.swing.JButton; +import javax.swing.JDialog; +import javax.swing.JFileChooser; +import javax.swing.JPanel; +import static javax.swing.WindowConstants.DISPOSE_ON_CLOSE; + +/** + * + * @author aNNiMON + */ +public abstract class AbstractDirectoryChooser extends JDialog implements ActionListener { + + private final JFileChooser chooser; + + public AbstractDirectoryChooser(String title) { + setTitle(title); + setPreferredSize(new Dimension(200, 80)); + setDefaultCloseOperation(DISPOSE_ON_CLOSE); + initWindow(); + chooser = new JFileChooser(); + chooser.setCurrentDirectory(new File(".")); + chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); + chooser.setAcceptAllFileFilterUsed(false); + } + + private void initWindow() { + JPanel panel = new JPanel(); + + JButton button = new JButton("Выбрать директорию"); + button.setPreferredSize(new Dimension(150, 40)); + button.setAlignmentX(Component.CENTER_ALIGNMENT); + button.addActionListener(this); + panel.add(button); + + getContentPane().add(panel); + pack(); + setLocationRelativeTo(null); + } + + @Override + public void actionPerformed(ActionEvent e) { + if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { + directorySelected(chooser.getSelectedFile()); + } else { + System.out.println("Ничего не выбрано"); + } + } + + protected abstract void directorySelected(File directory); +}