Абстрактный выбор папки для заданий 3, 4, 5
This commit is contained in:
parent
8d2d9f7ac3
commit
615ec2d1a5
57
src/tse/lr3/AbstractDirectoryChooser.java
Normal file
57
src/tse/lr3/AbstractDirectoryChooser.java
Normal file
@ -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);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user