나는 복수의 값을 가진 JComboBox
을 가지고 있습니다. MAC에서 JComboBox
의 팝업 창을 열려고 키스트 로크를 control-option-space
찾는 방법은 무엇입니까?Voiceover 유틸리티가있는 MAC의 JCombobox에서 팝업을 여는 Control-Option-Space 키
답변
표준 space
키 이외에 또는 대신에 control-option-space
키 바인딩을 원한다면 명확하지 않습니다. 두 경우 모두 아래에 표시된 것과 같은 바인딩을 사용하여 aquaSpacePressed
작업을 불러올 수 있습니다. 자세한 내용은 키 바인딩 사용 방법을 참조하십시오.
combo.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
KeyStroke.getKeyStroke(KeyEvent.VK_SPACE,
KeyEvent.ALT_DOWN_MASK | KeyEvent.CTRL_DOWN_MASK),
"aquaSpacePressed");
이 맥 전용이기 때문에, 당신은 이와 같은 조건을 사용할 수 있습니다 :
System.getProperty("os.name").startsWith("Mac OS X")
부록을 : 아래 sscce가 개정 문제의 시나리오를 테스트하는 데 사용되었다.
부록 : 명확하지 않은 이유로 System Preferences > Speech > Text to Speech
은 control-option-space
바인딩을 선점합니다. 다른 방법으로는 아래 수정 된 예제에 표시된 Action
, "spacePopup"
표준에 바인딩 할 수 있습니다.
import java.awt.EventQueue;
import java.awt.event.KeyEvent;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.KeyStroke;
/**
* @see http://stackoverflow.com/a/13412208/230513
*/
public class ComboKeyTest extends JPanel {
public ComboKeyTest() {
JComboBox cpmbo = new JComboBox();
cpmbo.addItem("One");
cpmbo.addItem("Two");
cpmbo.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
KeyStroke.getKeyStroke(KeyEvent.VK_SPACE,
KeyEvent.ALT_DOWN_MASK | KeyEvent.CTRL_DOWN_MASK),
"spacePopup");
this.add(cpmbo);
}
private void display() {
JFrame f = new JFrame("NewJavaGUI");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(this);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new ComboKeyTest().display();
}
});
}
}
고마워요.이 작품은 저에게 절대로 좋습니다. 그러나 음성 바로 가기 유틸리티가 실행 중일 때이 바로 가기 키를 사용해야하는 문제가 하나 더 있습니다. 음성으로 유틸리티를 사용하여 팝업을 열지 못했습니다. – varuag
시스템 환경 설정에서 충돌하는 바로 가기 키를 확인할 수 있습니다. – trashgod
voice over utility가 실행 중이더라도 'dictation & Speech'와 같이 시스템 기본 설정의 항목 중 control-option-space로 드롭 다운 목록 팝업을 통해 확인했습니다. – varuag
- 1. 도구 모음으로 팝업을 여는 방법
- 2. 오른쪽 모서리에서 팝업을 여는 방법?
- 3. 전환과 함께 xul에서 팝업을 여는 방법
- 4. IE7에서 IE8에서 전체 화면 팝업을 여는 방법
- 5. 검도 그리드에서 세부 정보 팝업을 여는 방법
- 6. Devexpress Gridview CustomButton에서 팝업을 여는 방법?
- 7. 팝업을 통해 외래 키 얻기
- 8. JComboBox에서 문자열로
- 9. Mac의 AIR에서 기본 인증 팝업을 방지하는 방법은 무엇입니까?
- 10. PHP 폭풍 및 Mac의 Option 키
- 11. 초기 VoiceOver 선택
- 12. CGPDFDocument 및 voiceover
- 13. 스윙 : JComboBox에서 Enter를 감지 하시겠습니까?
- 14. JComboBox에서 아래쪽 화살표를 제거하십시오
- 15. JComboBox에서 텍스트 검색
- 16. JComboBox에서 애니메이션 GIF 사용
- 17. JComboBox에서 선택을 하시겠습니까?
- 18. JComboBox에서 값 가져 오기
- 19. jComboBox에서 항목을 선택하는 방법
- 20. jComboBox에서 org.hibernate.PropertyAccessException 오류가 발생했습니다.
- 21. Xcode 버그? VoiceOver with TableView
- 22. iPhone VoiceOver 이벤트를 잡는 방법?
- 23. WebView에서 VoiceOver 사용 안 함
- 24. Mac의 Java KeyEvents
- 25. android에서 프로그래밍 방식으로 맞춤 팝업을 여는 방법은 무엇입니까?
- 26. 페이지를 입력 할 때 모달 팝업을 자동으로 여는 방법
- 27. Juleery를 사용하여 JSF 2에서 모달 팝업을 여는 방법
- 28. 팝업을 위해 새 브라우저 창을 여는 방법은 무엇입니까?
- 29. FB 로그인/등록 ..을 클릭하여 팝업을 여는 방법은 무엇입니까?
- 30. Mac의 GWT_HOME
최근 [편집] (http://stackoverflow.com/posts/13410975/revisions)이 새로운 질문을 나타낼 수 있습니다. 테스트를 위해 아래에 [sscce] (http://sscce.org/)를 추가했습니다. 다른 곳에 게시하는 경우이 Q & A를 참조하십시오. [다른 질문] (http://apple.stackexchange.com/). – trashgod
이 [Q & A] (http://apple.stackexchange.com/q/71915/20589)도 참조하십시오. – trashgod