2017-11-17 2 views
0

스윙 GUI를 쓰려고합니다. 버튼을 클릭 할 때 다른 버튼이 이미 클릭되었는지 테스트하고 싶습니다. 있다면, "if"문에서 명령문을 실행하십시오. 그러나 "if"문이 실행되지 않는 것처럼 보입니까?ActionPerformed 이벤트 중에 명령문이 실행되지 않는 경우

private void radSingleBurgerActionPerformed(java.awt.event.ActionEvent evt) { 
    if(radDoubleBurger.isSelected()){ 
     newItemPrice = Double.parseDouble(lblItemPrice.getText()); 
     newItemPrice -= doublePrice; 
     lblTest.setText(String.valueOf(newItemPrice));//test to see if working 
    } 
    lblItemPrice.setText(String.valueOf(newItemPrice += singlePrice)); 
}            

private void radDoubleBurgerActionPerformed(java.awt.event.ActionEvent evt) { 
    if(radSingleBurger.isSelected()){ 
     newItemPrice = Double.parseDouble(lblItemPrice.getText()); 
     newItemPrice -= singlePrice; 
     lblTest.setText(String.valueOf(newItemPrice));//test to see if working 
    } 
    lblItemPrice.setText(String.valueOf(newItemPrice += doublePrice)); 
} 

답변

1

JButton을 클릭해도 영구적으로 선택되지 않습니다. 클릭은 일시적인 조치 일뿐입니다.

아마도 JToggleButton을 사용하고 싶을 것입니다. 이렇게하면 버튼을 클릭하여 선택한 다음 다시 클릭하여 선택을 해제 할 수 있습니다.

자세한 내용은 How to Use Buttons의 스윙 튜토리얼 섹션을 참조하십시오.

또는 사용자가 일반 JButton을 클릭했는지 알고 싶으면 버튼의 ActionListener에서 업데이트 할 부울 변수를 직접 유지해야합니다.

+0

감사합니다. 화면을 쳐다 보면서 지겨워서 정말 고맙습니다. 내가 부울 검사 변수를 추가하고 지금은 작동합니다. 리스너에 추가하려고했으나 NetBeans IDE에서 편집하지 못하게했습니다. ??? –

+0

@CryHavoc_Mike, 코드를 생성하는 데 IDE를 사용하지 않으므로 여기서 도울 수 없습니다. 차라리 직접 코드를 작성하고 전적으로 제어 할 수 있습니다. 또한 IDE에 의해 생성 된 코드는 다른 IDE로 전환 한 경우 유지 보수 할 수 없습니다. IDE를 사용하여 컴파일 및 디버그, 수업 구성 등을 도와주세요. – camickr

관련 문제