2011-08-16 5 views
1

지금은 구성 파일을 기반으로 여러 개의 전체 화면 JFrame을 생성하는 전체 화면 응용 프로그램이 있습니다. 그래서 정확히 얼마나 많은 프레임을 예측할 수 있습니까? ,(전체 화면에서) JFrames보다 쉬운 대안은 무엇입니까?

setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); 
setUndecorated(true); 
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
setBounds(0,0,screenSize.width, screenSize.height); 

문제는 이러한 JFrames은 리눅스 환경에서 오작동하는 이러한 JFrames는 다음과 같이 전체 화면 모드에 있습니다. 나는 requestFocus, requestFocusInWindow, toFront, setVisible 등으로 많은 어려움을 겪었습니다.하지만 리눅스에서는 제대로 동작하지 않습니다. 문제는 여러 프레임을 가지고 있으며 버튼을 클릭 할 때 전환 할 수 있어야한다는 것입니다 (기본적으로 메뉴 임).

그래서 저는 JFrame이 사용하기 가장 좋은 대상이 아니라고 생각하기 시작했습니다. 가능하다면 여러 프레임을 관리하는 것이 더 쉬울까요? optionPanes? 아니면 비슷한 무엇입니까? 해결책이 무엇이든간에 나는 DO_NOTHING_ON_CLOSEsetUndecorated (또는 비슷한 것)이 될 수 있어야합니다.

참고 : 내 JFrame을 변경해야하는 이유가 보이지 않고 쉽게 포커스 /보기를 전환하는 방법을 알고있는 경우 알려 주시기 바랍니다. 이것은 또한 내 문제에 대한 해답이 될 것입니다.

+3

왜 CardLayout 또는 이와 비슷한 여러 개의 JFrame이 아닌 여러 개의 JFrame이 아닌가? –

+0

@Hovercraft : CardLayout이 어떻게 내 문제를 해결할 수 있는지 잘 모르겠습니다. 어쩌면 당신이 뭘 말하려고하는지 모르겠군요. 현재 내 JFrames에서는 응용 프로그램이 절대 위치 지정을 사용하여 배치 할 수있는 기반이기 때문에 LayoutManager를 사용하지 않습니다. – n0pe

+0

JTabbedPane을 포함하는'JFrame'을 사용할 수 있습니다. 각 탭 (예를 들어'JPanel')은 현재 프레임 정보를 가지고 있습니다. 그것은 유일한 가능성, 어쩌면 최선의 해결책이 있습니다. 레이아웃을 선호한다면'CardLayout'이 최선의 선택이 될 것입니다. – Charliemops

답변

1

나는 조금 주위 cardLayout 및 변경 내 코드를 사용하기로 결정했습니다.

1

화면을 전체 화면으로 설정하겠습니까?

http://download.oracle.com/javase/tutorial/extra/fullscreen/exclusivemode.html

+0

컴퓨터의 그래픽 카드에 의존하기 때문에 전 화면 단독 모드와 관련된 문제가있었습니다. 그리고 나는 이것을 가능한 한 크로스 플랫폼으로 유지하려고 노력하고있다. 그 이유는 단순히 화면의 크기를 잡고 그 크기가되도록 창을 설정하기 때문입니다. 모든 장식을 제거하십시오. – n0pe

관련 문제