JInternalFrame
을 JDesktopPane의 모든 프레임 맨 위로 밀어 넣는 방법은 무엇입니까?JInternalFrame to front and focussed
답변
JInternalFrame API를 읽고 "내부 프레임 사용 방법"에 대한 스윙 튜토리얼의 링크를 따라 가면 활성 내부 프레임을 "선택"하는 방법에 대한 실제 예제를 찾을 수 있습니다.
grabFocus() 및 requestFocus()를 시도하십시오. 그 중 하나가 작동해야합니다. 개인적으로 requestFocus() 만 사용했습니다.
나를 위해 작동하지 않습니다. 또한 (작동했다면) API에 따라 requestFocusInWindow()를 사용해야합니다. – camickr
작동하지 않았습니다. desktop.getDesktopManager()를 사용하여 종료되었습니다. activateFrame (jif); 여기서 JIF는 JInternalFrame입니다. – davidahines
이 경우 grabFocus(), requestFocus() 또는 transferFocus()도 작동하지 않습니다. setSelected (true), 나를 위해 일했다. – lepe
이 example에서, javax.swing.Action
은 메뉴에서 프레임을 선택하는 데 사용됩니다.
/* JInternalFrame의 방법 (false)를 호출하는 setSelected 전류 JInternalFrame를 해제 할
*/후 동일한 방법을 사용하여 새로운 JInternalFrame의 선택] 즉, (진정한)하는 setSelected
샘플 코드 :
시도 { jframe1.setSelected (거짓); jframe2.setSelected (true); } 캐치 (PropertyVetoException는 예) {}
Closing a modal JInternalFrame 씨 선 (나)
영업 이익은 setSelected
가 작동되지 않았 음을 지적했다으로 게시물을 참조, 그는 수동으로 activateFrame
를 호출 할 필요가 있었다. 이것은 GTKLookAndFeel
과 관련된 문제와 유사합니다. 모든 을 사용하여 결국 activateFrame
을 트리거하는 응용 프로그램이 있습니다. Windows 및 Mac 기본 모양 및 느낌으로 잘 작동합니다. activateFrame
이 자동으로 호출됩니다.
우분투에서 시스템을 선택한 LaF GTKLookAndFeel
그리고 어떤 이유로 이건 activateFrame
이 아니었다. setSelected
이 오류를 던지고있는 것처럼 보이지는 않았고, 다른 LaF가하는 것처럼 activateFrame
을 호출하는 것이 아닙니다. 나는 GTKLookAndFeel
호환성 문제라고 생각합니다.
결국 나는 이것에 punted , 그것을 Metal
로 바꾸는 것을 금지했다. Motif
도 호환 가능한 동작을 가졌지 만 (너무 추함 ...). 코드는 다음과 같습니다.
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
if (UIManager.getLookAndFeel() instanceof com.sun.java.swing.plaf.gtk.GTKLookAndFeel)
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
+1 아마도 그게 그것을 설명합니다. 우분투에서 "Nimbus"를 사용하고 있습니다. – lepe
- 1. 사용자 컨트롤에서 "Bring to front"
- 2. Settings.settings and arraying to
- 3. 모달 닫기 JInternalFrame
- 4. ajax to curl and back
- 5. Linq To SQL and Have
- 6. NSString to ByteArray and back
- 7. 다른 jinternalframe 클래스를 사용하여 jdesktoppane에 jinternalframe 클래스 추가하기
- 8. JInternalFrame 및 Keybinding
- 9. JDesktopPane 및 JInternalFrame 도움!
- 10. Java Front Controller
- 11. Java : getInputMap (WHEN_IN_FOCUSED_WINDOW) from JInternalFrame
- 12. 모든 JInternalFrame 이벤트 듣기 - Java
- 13. JInternalFrame 및 일부 버튼 사용
- 14. JInternalFrame 현재 위치를 유지하면서 최소화합니다.
- 15. has-and-belong-to-many 쿼리 만들기
- 16. setPrimitiveValue : forKey : and many to many relationships
- 17. Linq to SQL : Group By and Sum()
- 18. std :: list threading push_back, front, pop_front
- 19. Java Swing : JInternalFrame : 대화 상자 팝업이 필요합니다.
- 20. Symfony Front Controller가 작동하지 않는 이유는 무엇입니까?
- 21. Front Row 스타일 메뉴를 만드는 방법은 무엇입니까?
- 22. iphone front camera를 뒤집을 수있는 방법
- 23. SubSonic "Or"AND "AND"
- 24. Linq2Entities, many to many and dynamic where 절
- 25. jquery and jScrollPane and ajax
- 26. F # : Asynch and Tasks and PLINQ, 이런!
- 27. LEFT JOIN AND LIKE mysql을 사용합니다.
- 28. android and for loop
- 29. Xmpp and Android
- 30. IIS 6에서 Front Page Server Extension을 설치하는 방법
DestopManager.activateFrame (frame)이 솔루션으로 밝혀졌습니다. 거기에있는 예제 중 하나에서 파생되었습니다. 도와 주셔서 감사합니다. – davidahines
@ dah, 나는 frame.setSelected (true)가 더 쉬울 것이라고 생각했을 것입니다. 이것은 새 프레임이 만들어 질 때마다 예제가 사용하는 것입니다. 자습서에서 참조 된 activateFrame() 메서드를 본 적이 없습니다. – camickr
나는 왜 그런지 모르지만 그것은 나를 위해 작동하지 않았다. – davidahines