지금은 구성 파일을 기반으로 여러 개의 전체 화면 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_CLOSE
과 setUndecorated
(또는 비슷한 것)이 될 수 있어야합니다.
참고 : 내 JFrame을 변경해야하는 이유가 보이지 않고 쉽게 포커스 /보기를 전환하는 방법을 알고있는 경우 알려 주시기 바랍니다. 이것은 또한 내 문제에 대한 해답이 될 것입니다.
왜 CardLayout 또는 이와 비슷한 여러 개의 JFrame이 아닌 여러 개의 JFrame이 아닌가? –
@Hovercraft : CardLayout이 어떻게 내 문제를 해결할 수 있는지 잘 모르겠습니다. 어쩌면 당신이 뭘 말하려고하는지 모르겠군요. 현재 내 JFrames에서는 응용 프로그램이 절대 위치 지정을 사용하여 배치 할 수있는 기반이기 때문에 LayoutManager를 사용하지 않습니다. – n0pe
JTabbedPane을 포함하는'JFrame'을 사용할 수 있습니다. 각 탭 (예를 들어'JPanel')은 현재 프레임 정보를 가지고 있습니다. 그것은 유일한 가능성, 어쩌면 최선의 해결책이 있습니다. 레이아웃을 선호한다면'CardLayout'이 최선의 선택이 될 것입니다. – Charliemops