select all added

This commit is contained in:
mmkilic 2026-06-22 14:59:01 +03:00
parent 6cd9c0698b
commit 66a747dc22
2 changed files with 54 additions and 0 deletions

Binary file not shown.

View File

@ -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()) {