GridLayout에서 버튼의 X 및 Y 인덱스를 쉽게 얻는 방법
Java에서 GridLayout을 작업할 때 x 및 Y 인덱스를 결정해야 할 수도 있습니다. 그리드 내 특정 버튼의 y 인덱스. 기존 방법에는 원하는 버튼을 찾기 위해 버튼의 2차원 배열을 반복하는 중첩 루프가 포함됩니다.
<br> @Override<br> public void actionPerformed(ActionEvent ae) {<pre class="brush:php;toolbar:false">JButton bx = (JButton) ae.getSource(); for (int i = 0; i <p>}<br></p>
이 방법은 지루하고 오류가 발생하기 쉽습니다. 다행히 버튼의 좌표를 검색하는 더 효율적인 방법이 있습니다.
GridButtonPanel 클래스 소개
다음 Java 코드는 단순화된 솔루션을 보여줍니다.
가져오기 java.awt.EventQueue;
가져오기 java.awt.GridLayout;
java.awt.event.ActionEvent 가져오기;
java.awt.event.ActionListener 가져오기;
java.util.ArrayList 가져오기;
java.util.List 가져오기;
javax.swing.JButton 가져오기;
가져오기 javax.swing.JFrame;
import javax.swing.JPanel;
/**
- @see http://stackoverflow.com/questions/7702697
*/
공용 클래스 GridButtonPanel {
private static final int N = 5; private final List<jbutton> list = new ArrayList<jbutton>(); private JButton getGridButton(int r, int c) { int index = r * N + c; return list.get(index); } 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; } private JPanel createGridPanel() { JPanel p = new JPanel(new GridLayout(N, N)); for (int i = 0; i <p>}<br></p></jbutton></jbutton>
이 코드에서:
1. getGridButton() 메서드:
이 메서드를 사용하면 x 및 y 좌표를 기반으로 그리드에서 버튼을 검색할 수 있습니다. 목록의 인덱스를 결정하기 위해 행 수(N)에 지정된 행(r)을 곱하고 지정된 열(c)을 더합니다.
2. 액션 리스너:
버튼을 클릭하면 액션 리스너가 트리거되고 getGridButton() 메서드를 호출하여 클릭한 버튼을 검색합니다. 그런 다음 클릭한 버튼(b)의 참조를 검색된 버튼(gb)과 비교하여 둘 다 동일한 버튼을 나타내는지 확인합니다.
3. display() 메소드:
이 메소드는 그래픽 사용자 인터페이스(GUI)를 생성하고 표시합니다.
이 프로그램을 실행하면 GUI는 x가 포함된 버튼이 있는 그리드를 표시합니다. 그리고 y 좌표. 버튼을 클릭하면 콘솔은 해당 좌표를 인쇄하고 버튼의 ID를 확인합니다.
예:
"r2,c3 버튼을 클릭하면 ", 콘솔 출력은 다음과 같습니다.
r2,c3 true true
이것은 검색된 버튼이 (gb)는 클릭한 버튼 (b)와 동일하며, 이는 성공적인 작업을 나타냅니다.
이 접근 방식을 사용하면 복잡한 중첩 루프 프로세스를 피하고 GridLayout에 있는 버튼의 x 및 y 인덱스에 효율적으로 액세스할 수 있습니다.
위 내용은 Java GridLayout에서 버튼의 X 및 Y 인덱스를 효율적으로 가져오는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는
