내 애플리케이션이 대화 상자를 팝업합니다. 사용자는 대개 일정 기간 동안이 대화 상자와 응용 프로그램 창 사이를왔다 갔다합니다. 이 대화 상자가 메인 애플리케이션 창 뒤에 숨어 있지 않도록 맨 위에 놓기를 원합니다. 그러나 동시에 대화 상자에 최소화 버튼이 있어야 잠시 동안 필요하지 않으면 방해가되지 않도록 할 수 있습니다. 여기 메인 애플리케이션 윈도우 상단에 최소화 할 수있는 최소화 가능한 JFrame
내가 무엇을 시도했다입니다 :모덜리스 JDialog를 사용 - 대화가 잘 앞에 남아 있지만,이 버튼을 최소화하지 않고, 그것 자체가 없습니다 작업 표시 줄 버튼
대화 상자에 최소화 버튼과 자체 작업 표시 줄 버튼이 있지만 메인 창에 포커스가 있으면 대화 상자가 숨겨집니다.
JFrame을 사용하고 WindowListener.windowDeactivated() {this.toFront()}를 대화 상자에 추가하십시오. 이 문제는 toFront()가 포커스를 설정하므로 이상한 포커스 깜박임 효과가 발생합니다.
setAlwaysOnTop을 사용하여 JFrame을 사용하십시오.이 방법이 가장 적합한 솔루션이지만 이제는 응용 프로그램뿐만 아니라 다른 모든 응용 프로그램의 위에 계속 유지됩니다.
toFront 그냥 초점을 변경하지 않고 전면에 JFrame의를 가져온 경우가 쉬운 것입니다,하지만 불행히도 그것은 사실이 아니다. JFrame Z-order를 바꿀 수있는 또 다른 방법이 있습니까?
편집 : JDialog를 "롤업"하는 쉬운 방법, 즉 최소화하지만 작업 표시 줄에 최소화 할 수 있다면 내 문제도 해결할 것입니다.
어디서나 setZOrder() 메소드를 찾지 못했습니다. 나는 toFront와 함께 시도 할 것이다. – amarillion