Maison > Java > javaDidacticiel > Comment puis-je récupérer efficacement les index X et Y des éléments dans un GridLayout Java ?

Comment puis-je récupérer efficacement les index X et Y des éléments dans un GridLayout Java ?

Susan Sarandon
Libérer: 2024-12-19 21:21:09
original
567 Les gens l'ont consulté

How Can I Efficiently Retrieve the X and Y Indexes of Elements in a Java GridLayout?

Récupération des index X et Y des éléments dans un GridLayout

En Java, la localisation des index X/Y d'un élément spécifique dans un GridLayout peut être obtenue grâce à une méthode plus approche efficace que l’itération manuelle dans un tableau bidimensionnel. La méthode suivante montre comment obtenir la référence du bouton en fonction de ses coordonnées de grille :

private JButton getGridButton(int r, int c) {
    int index = r * N + c;
    return list.get(index);
}
Copier après la connexion

Cette méthode prend la ligne r et la colonne c comme paramètres et calcule l'index dans la liste de boutons sous-jacente (liste). En accédant à l'élément à cet index, nous récupérons la référence du bouton correspondant.

Pour démontrer cela, le code suivant crée une grille de 5x5 boutons et ajoute un écouteur de clics à chaque bouton. Lorsqu'un bouton est cliqué, l'écouteur de clic compare la référence du bouton trouvé avec la référence du bouton d'origine pour vérifier leur identité :

private JButton createGridButton(final int row, final int col) {
    final JButton b = new JButton("r" + row + ",c" + col);
    b.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            JButton gb = GridButtonPanel.this.getGridButton(row, col);
            System.out.println("r" + row + ",c" + col
                + " " + (b == gb)
                + " " + (b.equals(gb)));
        }
    });
    return b;
}
Copier après la connexion

En tirant parti de cette méthode, nous pouvons récupérer efficacement les index X et Y de n'importe quel bouton. au sein du GridLayout, ce qui facilite l'exécution de diverses actions sur des éléments de grille spécifiques.

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