2014-10-25 3 views
3

표준 항목과 바로 가기가있는 JMenuBar가 있습니다. 그러나 나는 그 지름길 설명이 왼쪽으로 정렬되어 있다는 것을 알아 차렸다. 오른쪽 정렬하는 방법이 있습니까?JMenuItem 바로 가기 맞춤

추신 : "움츠 차트"는 교대를 의미합니다. Umschalt 대신에 교대라고 말할 수있는 방법이 있습니까?

[UPDATE :Locale.setDefault(Locale.ENGLISH); 수정 문제,하지만 더 좋을 것이다 특정 구성 요소에 영향을 미칠 수있는 솔루션 ..]

의 PSP : 나는 모양을 설정하고 OS 기본으로 느낄 수있다 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());으로. 하지만 이제는 표준 OS Look의 외형에 약간의 조정을하고 싶습니다. 예를 들어 JMenuBar를 검정색으로 만들고 싶습니다. 인터 웹은 UIManager.put("tMenuBar.background", Color.BLACK);를 사용하라고하지만 ... 아무것도하지 않는 것

[UPDATE :/:이처럼 보인다 윈도우의 모양과 느낌 불가능]

enter image description here

여기

코드 : 이미 시도

private JMenuBar tMenuBar; 
    private JMenu mbEdit; 
    private JMenuItem mCut, mCopy, mPaste, mDo, mUndo; 

    tMenuBar = new JMenuBar(); 
    mbEdit = new JMenu("Edit"); 
    tMenuBar.add(mbEdit); 

    // EDIT 
    mUndo = new JMenuItem("Undo"); 
    mDo = new JMenuItem("Redo"); 
    mCut = new JMenuItem("Cut"); 
    mCut.setIcon(iCut); 
    mCopy = new JMenuItem("Copy"); 
    mCopy.setIcon(iCopy); 
    mPaste = new JMenuItem("Paste"); 
    mPaste.setIcon(iPaste); 
    mbEdit.add(mUndo); 
    mbEdit.add(mDo); 
    mbEdit.addSeparator(); 
    mbEdit.add(mCut); 
    mbEdit.add(mCopy); 
    mbEdit.add(mPaste); 

    // Undo 
    mUndo.setAccelerator(KeyStroke.getKeyStroke(
      java.awt.event.KeyEvent.VK_Z, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); 
    // Redo 
    mDo.setAccelerator(KeyStroke.getKeyStroke(
      java.awt.event.KeyEvent.VK_Z, ((Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() | java.awt.event.InputEvent.SHIFT_MASK)))); 
    // Cut 
    mCut.setAccelerator(KeyStroke.getKeyStroke(
      java.awt.event.KeyEvent.VK_X, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); 
    // Copy 
    mCopy.setAccelerator(KeyStroke.getKeyStroke(
      java.awt.event.KeyEvent.VK_C, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); 
    // Paste 
    mPaste.setAccelerator(KeyStroke.getKeyStroke(
      java.awt.event.KeyEvent.VK_V, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); 

:

,
applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); 

enter image description here

+0

'여전히 정렬에 대한 주요 질문이 남아 있습니다 ..)'이것은 JMenuItem의 UI의 일부입니다. 따라서 UI 레이아웃을 직접 변경해야 할 수 있습니다. – camickr

+0

예 .. 이미 JMenuItem .. 문서를 살펴보기 시작했는데 어디서나 "레이아웃"을 찾을 수는 없지만 어쨌든 왜 누군가가 바로 가기 표시를 왼쪽 정렬 했습니까? – Haeri

답변

1

나는의 JMenuBar 블랙을하고 싶습니다.

그것은 당신이 구성 요소를 만들 "전에"하는 UIManager 속성을 설정해야합니다

UIManager.put("MenuBar.background", Color.BLACK); 

(이하 "t"로)해야한다.

또한이 속성은 모든 LAF에서 지원되지 않을 수 있습니다. LAF가 제공하는 자세한 정보 및 등록 정보 목록은 UIManager Defaults을 확인하십시오.

+0

확인. 나는 내가 만든 물건을 사용해야 만한다고 생각했다. 그러나 여전히 운이 없다. 이미 해당 도구를 다운로드 했으므로 Windows LAF는 MenuBar.background를 지원합니다. 그리고 구성 요소를 만들기 전에 그것을 두는 것은 그것을 고치는 것처럼 보이지 않습니다. 'UIManager.put ("MenuBar.background", Color.BLACK); \t \t JMenuBar tMenuBar = new JMenuBar(); – Haeri

+0

재미있는 사실 : Look & Feel을 설정 한 부분을 제거하면 실제로 UIManager.put 메서드가 작동합니다 ... (UIManagerDefaults 응용 프로그램에서 "Windows L & F "ManuBar.background 메서드가 있어야합니다 .... – Haeri

+0

@Haeri, 네, 거기에 불일치가있을 수 있습니다.UIManager에는 정보가있을 수 있지만 LAF는이를 무시할 수 있습니다. – camickr

1

독일어 단어와 관련하여이 post을 살펴보십시오. 나는 이것이 아마도 대답이 아닌 주석 이었음을 알지만, 평판이 부족하여 그 일을 수행 할 수 없으며 도와주고 싶습니다.

+0

오 고마워요! 도움이되었습니다. 그러나 전체 응용 프로그램이 시스템 기본값이 아닌 영어로 변경되었습니다 ... 특정 부분 만 변경할 수 있다는 것은 멋지 겠지요 ... 그러나 이것 역시 훌륭합니다. (답을 최종 답으로 표시하고 싶지만 정렬에 대한 주된 질문은 여전히 ​​남아 있습니다.) – Haeri

+0

전체 애플리케이션의 변경과 관련하여 도움이 되었기 때문에 setLocale() 메소드를 사용해 볼 수 있습니다. GUI 개체에만 있지만이 작동하는지 잘 모르겠습니다. – Iootu

+0

정렬에 대해서는이 [link] (http://stackoverflow.com/questions/13140964/how-i-can-change-jmenuitem-alignment-to-right-align)가 도움이됩니까? – Iootu