2010-01-22 6 views
2

액션을 사용하여 생성 된 JButton이 있는데이 작업의 이름은 html입니다.동작 이름과 니모닉 이름이 붙은 JButton

그런 다음 이름에서 첫 번째 문자를 가져 오기 위해 html을 먼저 구문 분석하여 JButton에 니모닉을 설정합니다.

예를 들어, JButton 이름은 "<html>Test<br>Button</html>" 일 수 있으므로 html을 구문 분석 한 후 니모닉 키는 "T"여야합니다.

이제 JButton이 렌더링되면 alt-T를 눌러 버튼을 활성화 할 수 있지만 T의 밑줄 표시기는 표시되지 않습니다.

아무에게도이 문제가 발생하는 방법을 알고 계시겠습니까?

답변

1

"HTML을 구문 분석하여 JButton에서 mnemomic을 설정하는 것"이 ​​무슨 뜻인지는 분명하지 않습니다. 니모닉은 JButton 클래스에서 을 호출하여 JButton 클래스에서 설정할 수 있습니다. 나는 코드의 일부를 시도하고 Alt+P을 누르면 콘솔에 I am pressed이라는 메시지가 출력됩니다.

public class HTMLButton extends JPanel implements ActionListener { 
    JButton  b1; 
    public HTMLButton() { 
     super(new BorderLayout()); 
     b1 = new JButton("<html><b><u>P</u>ress</b></html>"); 
     b1.setMnemonic(KeyEvent.VK_P); 
     b1.addActionListener(this); 
     add(b1); 
    } 

    public void actionPerformed(final ActionEvent e) { 
     System.out.println("I am pressed"); 
    } 
} 

Java 자습서의 How to Use HTML in Swing Components 섹션을 참조하십시오.

+0

미안하지만 분명히해야합니다. 내 애플 리케이션에 단추가있는 오류 메시지를 표시하기위한 프레임 워크가 있으므로 재사용 가능한 코드의 경우 HTML을 구문 분석 (문자 " P ress") 문자를 찾으려면 프레임 워크가 있습니다. 거기에서 니모 닉이 설정되어야합니다 (이 경우 P). –

+0

JButton 이름에 html이없고 니모닉을 설정 한 경우 P는 자체적으로 밑줄을 긋습니다. 그러나이 경우 직접 HTML 형식을 추가해야합니다. JButton이 밑줄을 그어 넣을 수있는 방법이 없습니까? HTML에 넣지 않아도됩니다. 는 내 오류 프레임 워크에 두 개의 버튼이 경우, " 보도
나"와 " 푸시
나"될 수있다. 어떤 경우에는 그들 중 하나가 그것에 대한 differnt 니모닉 세트를 가지고, 나는 html에 밑줄을 결합하지 않는 것을 선호합니다. –

+0

질문을받지 못했습니다. 코드 "jButton.setMnemonic ('P');" 이 경우에는 html이 중요하지 않습니다. – marionmaiden

관련 문제