AbstractDirectoryChooser перенесён в общий пакет и преобразован в более гибкий класс AbstractFileChooser
This commit is contained in:
parent
e5d05ef173
commit
222e8f34f1
@ -1,4 +1,4 @@
|
|||||||
package tse.lr3;
|
package com.annimon.ui;
|
||||||
|
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
@ -15,25 +15,29 @@ import static javax.swing.WindowConstants.DISPOSE_ON_CLOSE;
|
|||||||
*
|
*
|
||||||
* @author aNNiMON
|
* @author aNNiMON
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractDirectoryChooser extends JDialog implements ActionListener {
|
public abstract class AbstractFileChooser extends JDialog implements ActionListener {
|
||||||
|
|
||||||
private final JFileChooser chooser;
|
private final JFileChooser chooser;
|
||||||
|
|
||||||
public AbstractDirectoryChooser(String title) {
|
public AbstractFileChooser(String title) {
|
||||||
|
this(title, "Выбрать директорию", JFileChooser.DIRECTORIES_ONLY);
|
||||||
|
}
|
||||||
|
|
||||||
|
public AbstractFileChooser(String title, String buttonText, int mode) {
|
||||||
setTitle(title);
|
setTitle(title);
|
||||||
setPreferredSize(new Dimension(200, 80));
|
setPreferredSize(new Dimension(200, 80));
|
||||||
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
|
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
|
||||||
initWindow();
|
initWindow(buttonText);
|
||||||
chooser = new JFileChooser();
|
chooser = new JFileChooser();
|
||||||
chooser.setCurrentDirectory(new File("."));
|
chooser.setCurrentDirectory(new File("."));
|
||||||
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
|
chooser.setFileSelectionMode(mode);
|
||||||
chooser.setAcceptAllFileFilterUsed(false);
|
chooser.setAcceptAllFileFilterUsed(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initWindow() {
|
private void initWindow(String buttonText) {
|
||||||
JPanel panel = new JPanel();
|
JPanel panel = new JPanel();
|
||||||
|
|
||||||
JButton button = new JButton("Выбрать директорию");
|
JButton button = new JButton(buttonText);
|
||||||
button.setPreferredSize(new Dimension(150, 40));
|
button.setPreferredSize(new Dimension(150, 40));
|
||||||
button.setAlignmentX(Component.CENTER_ALIGNMENT);
|
button.setAlignmentX(Component.CENTER_ALIGNMENT);
|
||||||
button.addActionListener(this);
|
button.addActionListener(this);
|
||||||
@ -51,8 +55,7 @@ public abstract class AbstractDirectoryChooser extends JDialog implements Action
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
directorySelected(chooser.getSelectedFile());
|
onFileSelected(chooser.getSelectedFile());
|
||||||
System.out.println("Готово!");
|
|
||||||
}
|
}
|
||||||
}).start();
|
}).start();
|
||||||
} else {
|
} else {
|
||||||
@ -60,5 +63,5 @@ public abstract class AbstractDirectoryChooser extends JDialog implements Action
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract void directorySelected(File directory);
|
protected abstract void onFileSelected(File file);
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user