Heim >Java >javaLernprogramm >Wie kann ich die X- und Y-Indizes von Elementen in einem Java GridLayout effizient abrufen?
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!