Heim >Java >javaLernprogramm >Wie kann ich die X- und Y-Indizes von Elementen in einem Java GridLayout effizient abrufen?

Wie kann ich die X- und Y-Indizes von Elementen in einem Java GridLayout effizient abrufen?

Susan Sarandon
Susan SarandonOriginal
2024-12-19 21:21:09501Durchsuche

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

Abrufen von X- und Y-Indizes von Elementen innerhalb eines GridLayouts

In Java kann das Auffinden der X/Y-Indizes eines bestimmten Elements innerhalb eines GridLayouts durch eine weitere Funktion erreicht werden effizienterer Ansatz als das manuelle Durchlaufen eines zweidimensionalen Arrays. Die folgende Methode zeigt, wie man die Schaltflächenreferenz basierend auf ihren Gitterkoordinaten erhält:

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

Diese Methode verwendet Zeile r und Spalte c als Parameter und berechnet den Index in der zugrunde liegenden Schaltflächenliste (Liste). Indem wir auf das Element an diesem Index zugreifen, rufen wir die entsprechende Schaltflächenreferenz ab.

Um dies zu demonstrieren, erstellt der folgende Code ein Raster von 5x5 Schaltflächen und fügt jeder Schaltfläche einen Klick-Listener hinzu. Wenn auf eine Schaltfläche geklickt wird, vergleicht der Klick-Listener die gefundene Schaltflächenreferenz mit der ursprünglichen Schaltflächenreferenz, um deren Identität zu überprüfen:

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

Durch die Nutzung dieser Methode können wir die X- und Y-Indizes jeder Schaltfläche effizient abrufen innerhalb des GridLayouts, wodurch es einfacher wird, verschiedene Aktionen an bestimmten Rasterelementen durchzuführen.

Das obige ist der detaillierte Inhalt vonWie kann ich die X- und Y-Indizes von Elementen in einem Java GridLayout effizient abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn