J'essaie d'utiliser le Voici un programme minimal pour illustrer: P> jfilechooser code> pour obtenir des fichiers pour le chargement et la sauvegarde. La boîte de dialogue qui apparaît avec
OpenFileDialog () code> fonctionne bien, mais lorsque j'utilise la méthode
SavisterfileDialog () code>, la fenêtre de la boîte de dialogue contient tous les noms de fichiers grisés. Cela se produit avec ou sans fichier
FileFilter code> (mon exemple inclut un pour mieux montrer ce que je vois).
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.filechooser.FileNameExtensionFilter;
public class Temp extends JFrame {
public static void main(String[] args){
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("Text File", "txt");
chooser.setFileFilter(filter);
frame.setVisible(true);
chooser.showOpenDialog(null);
chooser.showSaveDialog(null);
}
}
3 Réponses :
mmm ... Je pense que montrez des dialogues comme vous ne le faites pas n'est pas la meilleure façon
JFrame parentFrame = new JFrame(); JFileChooser fileChooser = new JFileChooser(); fileChooser.setDialogTitle("Specify a file to save"); int userSelection = fileChooser.showSaveDialog(parentFrame); if (userSelection == JFileChooser.APPROVE_OPTION) { File fileToSave = fileChooser.getSelectedFile(); System.out.println("Save as file: " + fileToSave.getAbsolutePath()); }
L'utilisation d'un cadre parent me donne le même comportement
Je cherche les fichiers
.txt code> à afficher dans la couleur "normale" lors de la boîte de dialogue Enregistrer. P> blockQuote>
C'est contrôlé par le
FILECHOOSERUI CODE> Délégué spécifique à un look & sens particulier, par ex.
Aquafilechooserui Code> sur Mac OS X. Vous pouvez utiliser un L & F différent, (laborieusement) écrire votre propre
FILECHOOSERUI CODE> ou développez une personnalisation GUI EM> EM> . P>
Ooh, beau lien. ;) OTOH que je soupçonne que l'utilisateur typique OS X préférerait le look par défaut («chemin du moindre surprise», etc.). Agréable d'avoir des alternatives cependant. :)
Ce que j'ai fini par faire était d'utiliser: My Save Dialog ressemble à une boîte de dialogue Enregistrer et le fichier
fichier code> gris uniquement les fichiers que échouer son test. p> p>
Réponse courte, oui, c'est le comportement attendu. Contrairement à Windows, ce qui excluait simplement les fichiers de la liste visible, pour une redevance étrange que Mac OS Look & Sentence décide que les fichiers doivent être grisés (lorsque vous ne pouvez pas les sélectionner)
Mais selon le filtre, les fichiers .txt doivent être à la fois visibles + sélectionnables (voir comment ils se trouvent dans la boîte de dialogue ouverte: dans une police noire (par opposition à gris).
@Madprogrammer est correct. Vous peut i> Sélectionnez un nom de sortie grisé, qui devient alors le nouveau candidat
Enregistrer sous code> nom.
@trashgod à droite - Tous les fichiers sont sélectionnables. Ce que je cherche, ce sont les fichiers .txt à afficher dans la couleur "normale" lors de la boîte de dialogue Enregistrer, de la même manière qu'ils ont l'air dans la boîte de dialogue ouverte.
Le comportement par défaut n'est pas inattendu par les utilisateurs de Mac, mais j'ai suggéré des alternatives ci-dessous.
@trashgod (+ @madprogrammer) - Ouais, en regardant d'autres applications indigènes, il semble que ce soit le cas, même si je ne l'ai jamais vraiment remarqué auparavant. Je suppose que mes yeux avaient l'air particulièrement mauvais dans le jfilechooser. Je vais jouer avec L + F s'il continue de me déranger :)