Maison >Java >javaDidacticiel >Comment trouver efficacement l'index de ligne et de colonne d'un JButton dans un GridLayout Java ?

Comment trouver efficacement l'index de ligne et de colonne d'un JButton dans un GridLayout Java ?

DDD
DDDoriginal
2024-12-20 02:13:14550parcourir

How to Efficiently Find the Row and Column Index of a JButton in a Java GridLayout?

Recherche des indices X et Y d'un élément dans un GridLayout

En Java, l'approche recommandée pour obtenir les indices X et Y d'un JButton dans un GridLayout se fait via la méthode getGridButton. Cette méthode fournit un accès direct à un bouton en fonction de ses coordonnées de grille.

Prenons un exemple de la classe GridButtonPanel :

private JButton getGridButton(int r, int c) {
    int index = r * N + c;
    return list.get(index);
}

où r et c représentent la ligne et la colonne du bouton cible. . N est le nombre de lignes ou de colonnes dans la disposition de la grille.

La méthode getGridButton peut être exploitée pour simplifier le processus de gestion des événements pour les boutons de la grille, comme le montre l'écouteur d'action ci-dessous :

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)));
    }
});

En utilisant la méthode getGridButton, vous pouvez identifier directement le bouton cliqué dans la disposition de la grille et effectuer les actions souhaitées en fonction de ses coordonnées. Cette approche fournit un moyen efficace et simple de gérer les boutons de grille en Java.

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!

Déclaration:
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