JFileChooser sur un Clic de Bouton
J'ai un bouton, en cliquant sur lequel je veux le JFileChooser de pop-up. J'ai essayé cette
JButton browse= new JButton("Browse");
add(browse);
browse.addActionListener(new ClassBrowse());
public class ClassBrowse implements ActionListener {
public void actionPerformed(ActionEvent e) {
int returnVal = fileChooser.showOpenDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try {
//return the file path
} catch (Exception ex) {
System.out.println("problem accessing file"+file.getAbsolutePath());
}
}
else {
System.out.println("File access cancelled by user.");
}
}
}
Bhé ci-dessus donne une erreur The method showOpenDialog(Component) in the type JFileChooser is not applicable for the arguments (ClassName.ClassBrowse)
Aussi, je le veux pour retourner le chemin de fichier complet. Comment dois-je faire ?
Remplacer
int returnVal = fileChooser.showOpenDialog(this);
avec int returnVal = fileChooser.showOpenDialog(frame);
, en supposant que vous avez une JFrame installé quelque part, et que ce n'est qu'une partie de votre code.OriginalL'auteur OneMoreError | 2013-05-03
Vous devez vous connecter pour publier un commentaire.
ActionListener
n'est pas unComponent
, vous ne pouvez pas passerthis
pour le sélecteur de fichier.Fichier#getCanonicalPath
pour obtenir le chemin complet du fichier, mais vous ne pouvez pasreturn
, commeactionPerformed
ne renvoie unevoid
(ou pas de type de retour). Vous pouvez, cependant, d'autres variables, en appeler une autre méthode ou même définir le texte d'unJLabel
ouJTextField
... par exemple...OriginalL'auteur MadProgrammer
Vous pouvez définir une variable d'instance qui détient la chaîne de nom de fichier dans la actionPerformed comme
File
ne pas tourner le dos à unString
, c'est absurde.Utilisateur a spécifié qu'il veut que le chemin d'accès complet
Qui peut être facilement obtenu à partir d'un
File
objet. Afin de stocker le Fichier de l'objet. D'ailleurs, parfois, les OP ne demande pas la chose la plus logique, si ils ont demandé comment faire pour tirer dans le pied, voulez-vous de donner des instructions?OriginalL'auteur prasanth
Vous pouvez passer le conteneur (Cela peut être un JFrame, JDialog, JApplet ou pas du tout) votre JButton réside dans le
et la filechooser s'ouvrira une boîte de dialogue modale sur le dessus du conteneur.
OriginalL'auteur Diluu