문제

Joptionpane 대화 상자에서 버튼에 핫키와 니모닉을 할당 할 수 있습니까? 옵션과 함께 JoptionPane 생성 메시지 대화 상자에서 예, 아니오 및 취소가 포함 된 경우 Y를 누르면 Y 버튼을 누르고 N 버튼을 누르고 탈출 버튼을 활성화 할 수 있습니다. 마찬가지로 OK 및 취소 버튼이있는 대화 상자에서는 Enter and Escape로 활성화 할 수 있습니다.

나는 이미 mnemonics 세트와 함께 Jbuttons를 Joptionpane의 버튼 객체 배열로 전달하려고 시도했습니다. Mnemonics는 작동하고 버튼은 대화 상자에서 올바르게 나타나지만 활성화 될 때 제대로 작동하지 않습니다. 가장 눈에 띄게 대화를 처리하지 않습니다.

Joptionpane 대화 버튼에 핫키와 니모닉을 추가하는 올바른 방법은 무엇입니까?

도움이 되었습니까?

해결책

당신은 당신의 것을 만들 수 있습니다 JOptionPane, 그런 다음 창 (어린이 등)의 구성 요소를 통과하여 구성 요소가 있는지 확인합니다. instanceof JButton, 그리고 그렇다면 텍스트를 확인하고 적절한 니모닉을 설정하십시오.

JOptionPane p = new JOptionPane();
Component[] c = p.getComponents();

다른 팁

다음과 같이 uimanager를 사용하십시오.

UIManager.put("OptionPane.okButtonMnemonic", "79");  // for Setting 'O' as mnemonic
UIManager.put("OptionPane.cancelButtonMnemonic", "67"); // for Setting 'C' as mnemonic

문자열 대신 버튼을 매개 변수로 보냅니다

    JButton button1 = new JButton( "<html>" + nextQuestion1 + "</html>");
    button1.setMnemonic('a');
    JButton button2 = new JButton(nextQuestion2 + "VUHU");
    JButton button3 = new JButton(abort);
    Object[] possibleValues = new Object[]{button1,button2,button3};
    int selectedValue = showOptionDialog(owner, question, possibleValues);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top