select all added
This commit is contained in:
parent
6cd9c0698b
commit
66a747dc22
Binary file not shown.
|
|
@ -26,13 +26,16 @@ public class FileMergerApp extends JFrame {
|
||||||
textArea.setEditable(false);
|
textArea.setEditable(false);
|
||||||
|
|
||||||
JButton selectButton = new JButton("Select");
|
JButton selectButton = new JButton("Select");
|
||||||
|
JButton selectAllButton = new JButton("SelectAll");
|
||||||
JButton mergeButton = new JButton("Merge");
|
JButton mergeButton = new JButton("Merge");
|
||||||
|
|
||||||
selectButton.addActionListener(e -> selectFiles());
|
selectButton.addActionListener(e -> selectFiles());
|
||||||
|
selectAllButton.addActionListener(e -> selectAllFiles());
|
||||||
mergeButton.addActionListener(e -> mergeFiles());
|
mergeButton.addActionListener(e -> mergeFiles());
|
||||||
|
|
||||||
JPanel buttonPanel = new JPanel();
|
JPanel buttonPanel = new JPanel();
|
||||||
buttonPanel.add(selectButton);
|
buttonPanel.add(selectButton);
|
||||||
|
buttonPanel.add(selectAllButton);
|
||||||
buttonPanel.add(mergeButton);
|
buttonPanel.add(mergeButton);
|
||||||
|
|
||||||
add(buttonPanel, BorderLayout.NORTH);
|
add(buttonPanel, BorderLayout.NORTH);
|
||||||
|
|
@ -67,6 +70,57 @@ public class FileMergerApp extends JFrame {
|
||||||
textArea.append(System.lineSeparator());
|
textArea.append(System.lineSeparator());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void selectAllFiles() {
|
||||||
|
JFileChooser chooser = new JFileChooser();
|
||||||
|
|
||||||
|
if (lastDirectory != null) {
|
||||||
|
chooser.setCurrentDirectory(lastDirectory);
|
||||||
|
}
|
||||||
|
|
||||||
|
chooser.setMultiSelectionEnabled(false);
|
||||||
|
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
|
||||||
|
|
||||||
|
int result = chooser.showOpenDialog(this);
|
||||||
|
if (result != JFileChooser.APPROVE_OPTION) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
File selectedDir = chooser.getSelectedFile();
|
||||||
|
if (selectedDir == null || !selectedDir.isDirectory()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
lastDirectory = selectedDir;
|
||||||
|
|
||||||
|
List<File> files = new ArrayList<>();
|
||||||
|
collectFilesRecursively(selectedDir, files);
|
||||||
|
|
||||||
|
if (files.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (File file : files) {
|
||||||
|
selectedFiles.add(file);
|
||||||
|
textArea.append(file.getAbsolutePath());
|
||||||
|
textArea.append(System.lineSeparator());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void collectFilesRecursively(File dir, List<File> result) {
|
||||||
|
File[] entries = dir.listFiles();
|
||||||
|
if (entries == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (File entry : entries) {
|
||||||
|
if (entry.isDirectory()) {
|
||||||
|
collectFilesRecursively(entry, result);
|
||||||
|
} else {
|
||||||
|
result.add(entry);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void mergeFiles() {
|
private void mergeFiles() {
|
||||||
if (selectedFiles.isEmpty()) {
|
if (selectedFiles.isEmpty()) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue