Чтобы открыть диалоговое окно с выбором файла на компьютере нужно использовать класс JFileChooser.
JFrame frame = new JFrame("Окно");
frame.setBounds(300, 300, 500, 410);
frame.setLayout(null);
JLabel label = new JLabel();
label.setBounds(10, 10, 500, 40);
frame.add(label);
JButton button = new JButton("Выбрать");
button.setBounds(10, 60, 100, 40);
frame.add(button);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.APPROVE_OPTION); // задаем режим выбора (папки, файлы, папки и файлы и т.п.)
int result = fileChooser.showOpenDialog(frame);
if (result == JFileChooser.APPROVE_OPTION){
label.setText(fileChooser.getSelectedFile().getAbsolutePath());
}
}
});
frame.setVisible(true);
Чтобы выбирать только определенные файлы (например, только изображения) нужно создать фильтр и передать его JFileChooser-у.
FileFilter imageFilter = new FileNameExtensionFilter("Image files", ImageIO.getReaderFileSuffixes());
fileChooser.addChoosableFileFilter(imageFilter);
fileChooser.setAcceptAllFileFilterUsed(false);