스윙: 토글 버튼과 메뉴 항목을 버튼 그룹으로 연결
문제:
토글 버튼과 메뉴 항목의 병렬 그룹을 사용하여 페인트 애플리케이션을 향상하려면 이들을 연결하는 방법이 필요합니다. 원활하게 하나의 구성 요소를 선택하면 다른 모든 구성 요소가 선택 해제되고 적절한 모양 유형이 설정됩니다.
해결책: 액션 인터페이스 활용
ButtonGroup을 사용하는 대신 액션 인터페이스. 이 접근 방식을 사용하면 여러 구성 요소가 동일한 기능을 효과적으로 공유할 수 있습니다. 액션을 사용하면 버튼과 메뉴 항목이 트리거될 때 동일한 코드를 실행할 수 있습니다.
구현:
액션 설정과 같은 원하는 동작을 정의하는 액션 클래스를 생성합니다. 모양 종류. 그런 다음 이 작업을 토글 버튼과 메뉴 항목 모두에 할당합니다.
사용자가 구성 요소(버튼 또는 메뉴 항목)와 상호 작용하면 작업의 actionPerformed 메서드가 호출되어 모양 유형을 설정하는 코드가 트리거됩니다. . 동시에 액션은 다른 모든 관련 구성 요소를 선택 취소하여 현재 선택 항목만 활성화되도록 합니다.
예제 코드:
// Define the Action class public class ShapeAction implements Action { @Override public void actionPerformed(ActionEvent e) { // Set the shape type based on the Action's descriptor setShapeType(e.getActionCommand()); // Deselect all other components associated with the Action deselectedAllOtherComponents(e); } } // Assign the Action to components // JToggleButton button = new JToggleButton(); // button.setAction(new ShapeAction()); // JMenuItem menuItem = new JMenuItem(); // menuItem.setAction(new ShapeAction());
액션 인터페이스를 사용하여 다음을 설정합니다. 토글 버튼과 메뉴 항목에 대한 중앙 집중식 제어 메커니즘으로 일관되게 작동하도록 보장하고 상태를 설정하는 동안 무한 루프의 위험을 제거합니다. 이 접근 방식은 코드를 간소화하여 유지 관리 및 업데이트를 더 쉽게 만듭니다.
위 내용은 모양 선택을 제어하기 위해 스윙의 토글 버튼과 메뉴 항목을 어떻게 동기화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!