2014-01-29 4 views
1

내 프로그램에서 버튼을 클릭하면 팝업 창이 나타납니다. 몇 가지 복잡한 작업을 수행하므로 자체 클래스에 있어야합니다. 그래서 여러 개의 JFrame 대신 여러 개의 창을 지원하는 레이아웃과 같은 다른 기능을 사용할 수 있습니까? 이미 솔루션이 있다는 것을 기억하십시오. 더 나은 방법이 있는지 물어 보는 것입니다.이 방법은 1000 개의 창에 1000 개의 작업 표시 줄 아이콘이 표시되지 않도록하는 방법입니다.여러 개의 JFrames 대체

+2

[JInternalFrame] (http://docs.oracle.com/javase/7/docs/api/javax/swing/JInternalFrame.html)을 확인 했습니까? – Laf

+2

[_Et al._] (http://stackoverflow.com/q/9554636/230513) – trashgod

+0

감사합니다. –

답변

2

시작되는 모든 작업에 대해 새로운 창을 표시해야하는 경우 JInternalFrame을보십시오. 부모 창 내부에서 만들 수 있으며 만들 때마다 새 작업 표시 줄 아이콘이 만들어지지 않습니다.

그렇지 않은 경우 모든 작업에 대해 새 창이 필요하지 않으면 작업에 대해 다른 스레드를 만들어야합니다. 당신이 google "java concurency"면 많은 문서를 이용할 수 있습니다.

4

실제로 GUI를 구성하는 방법은 모두 당시 사용자의 요구에 따라 달라 지므로 사용자의 질문에 대한 답변은 실제로 아무 것도 없습니다. 그러나이 나는 당신,

  1. 기어 스윙 GUI 클래스, "보기"클래스에게 연결이 JPanel의를 생성하는 것이 좋습니다 것이라고 말했다 데.
  2. 그런 다음이 뷰를 CardLayout "card"의 일부로 JFrame, JDialog, JApplet, 다른 JPanel, JTabbledPane, JScrollPane, JInternalFrame에 원하는 곳에 쉽게 추가 할 수 있습니다. 이것은 당신의 프로그램에 엄청난 유연성을 줄 것입니다.
  3. 단일 GUI에서 "보기"를 바꾸려면 CardLayout을 사용하여이 작업을 수행하십시오. CardLayout을 사용하는 JPanel은 디스플레이 플레이어이고, "카드"JPanels는 CardLayout의 제어하에 차례로 표시됩니다.
  4. 독립적 인 창을 표시하고 호출 창을 고정해야하는 경우보기를 모달 JDialog 또는 JOptionPane (실제로는 구문 다이내믹이 포함 된 JDialog 일뿐입니다)에 배치하십시오.