2013-08-21 5 views
0

짧은 JComboBox를 JRadioButton 그룹으로 변환하려고합니다. 라디오 버튼을 정의 할 때 내 setMnemonic 구문이 마음에 들지 않는다고 알려줍니다.JRadioButton setMnemonic broken Java 1.5

내 코드 :

public JRadioButton mailRadio = new JRadioButton("Mail"); 
mailRadio.setMnemonic(KeyEvent.VK_M); 

그것은 최대한 빨리, mailRadio.setMnemonic 구문 오류에 대한 밑줄 것을 받아 들일 인텔리 년에는 setMnemonic (int)를 보여줍니다 (또는 어떤 자바 버전이라고합니다), 그러나 것 . 그 위에 마우스를 올리면 "mailRadio.setMnemonic을 찾을 수 없음"이라는 오류 메시지가 나타납니다. 컴파일하면 "잘못된 메소드 선언, 반환 유형 필요"오류가 발생합니다.

내가 아는 한, 나는이 모든 일을하려고하지 않고있다. 나는 오랫동안 Java를 사용하지 않았고 녹슨했습니다. 내가 뭘 잘못하고 있는지 모르겠다.

나는 이와 같은 세 개의 JRadioButton을 가지고 있으며 주석을 달거나 제거 할 때까지 첫 번째 오류 만 표시합니다. 오류가 발생하면 다음 오류로 넘어갑니다.

JDeveloper 10.1.3.5, Java 1.5.0_06을 사용하고 있습니다. 불행하게도 어느 하나를 업그레이드하는 것은 현재 옵션이 아닙니다.

+0

기본적인 Java 튜토리얼을 이해하면 스윙 코딩에 대한 기본 지식이 없으므로 스윙 코딩이 매우 실망 스러울 수 있습니다. –

답변

3

변수를 선언하는 데 public을 사용했음을 알기 때문에 코드 스 니펫이 클래스 선언 안에 있다고 가정합니다.

클래스 선언에서 문을 사용할 수없고 setMnemonic과 같은 메서드 호출을 사용할 수 없습니다.

public class XXX { 
    public JRadioButton mailRadio = new JRadioButton("Mail"); 

    public XXX() { 
     mailRadio.setMnemonic(KeyEvent.VK_M); 
    }  
} 

더 이니셜 라이저 블록입니다 당신이 처음에하려고 노력처럼 보인다 대안 :

public class XXX { 
    public JRadioButton mailRadio = new JRadioButton("Mail"); 

    { 
     mailRadio.setMnemonic(KeyEvent.VK_M); 
    } 
} 

그러나이 나쁜 연습이다, 난 단지 해요 당신은 생성자 내에서이 메소드를 호출한다 완전을 위해 그것을 언급했다.

자세한 내용 in the doc.

+0

고맙습니다. 이것은 내 문제 였고 의사에게 링크 해 주셔서 감사합니다. 나는 이것이 가능한 한 빨리 대답으로 할 것이다. – Travis