Bom dia, estou fazendo um exercício da faculdade, mas, estou preso nessa parte, eu pesquisei muito mas só acho tópicos específicos e não me ajudam… Dá um erro de conversão por ser JFile Chooser, era para trocar a foto pelo arquivo selecionado…
jButton1MouseClicked(java.awt.event.MouseEvent evt) {
JFileChooser file = new JFileChooser();
int i = file.showSaveDialog(null);
file.setFileSelectionMode(JFileChooser.FILES_ONLY);
file.showOpenDialog(this);
file.getSelectedFile();
if (i==1){
foto.setIcon(new javax.swing.ImageIcon(getClass().getResource(file))); ///Essa parte precisa de correção
} else {
}
Tal como o erro indica, o método getResource() recebe como parâmetro uma String. Tu estás a tentar passar um JFileChooser. No entanto, do teu JFileChooser podes obter o File e desse File, o seu nome.
O que parece e que o problema está na forma como você está tentando configurar o ícone da foto usando getClass().getResource(file)… O método getResource é usado para carregar recursos do caminho relativo ao projeto (geralmente do classpath), enquanto file.getSelectedFile() retorna o caminho absoluto do arquivo selecionado pelo JFileChooser.
Aqui um exemplo de código que possa ser implementado e refatorado conforme o seu projeto, tipo tá meio gambiarra mais acredito que passa , espero ter ajudado, abraços.
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) { JFileChooser file = new JFileChooser(); file.setFileSelectionMode(JFileChooser.FILES_ONLY); int i = file.showOpenDialog(this);
if (i == JFileChooser.APPROVE_OPTION) {
File selectedFile = file.getSelectedFile();
if (selectedFile != null) {
foto.setIcon(new javax.swing.ImageIcon(selectedFile.getAbsolutePath()));
}
} else {
System.out.println("Nenhum arquivo selecionado");
}