Maison > Java > javaDidacticiel > Comment toujours afficher JFileChooser en haut en Java ?

Comment toujours afficher JFileChooser en haut en Java ?

Barbara Streisand
Libérer: 2024-12-28 09:15:10
original
231 Les gens l'ont consulté

How to Always Display JFileChooser on Top in Java?

Comment positionner JFileChooser au-dessus de toutes les fenêtres ?

En Java, lorsque vous utilisez JFileChooser, il peut être frustrant lorsque le sélecteur de fichier dialogue est caché derrière d'autres fenêtres. Pour résoudre ce problème, il faut comprendre l'API de showOpenDialog(), qui fait référence à showDialog(). Selon la documentation, "Si le parent est nul, alors la boîte de dialogue ne dépend d'aucune fenêtre visible et elle est placée dans une position dépendante de l'apparence, telle que le centre de l'écran."

Pour positionnez le sélecteur au centre de l'écran, considérez l'exemple de code suivant :

package gui;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.KeyStroke;

/**
 * @see http://stackoverflow.com/questions/8507521
 * @see http://stackoverflow.com/questions/5129294
 */
public class ImageApp extends JPanel {

    private static final int MASK =
        Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
    private JFileChooser chooser = new JFileChooser();
    private Action openAction = new ImageOpenAction("Open");
    private Action clearAction = new ClearAction("Clear");
    private JPopupMenu popup = new JPopupMenu();
    private BufferedImage image;

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                new ImageApp().create();
            }
        });
    }

    public void create() {
        JFrame f = new JFrame();
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal