2008년 11월 10일
윈도우 창 속에 윈도우 창 - JInternalFrame.

그럼 위에 이미지를 아주 단순하게 생각을 해 봅시다.
JFrame 안에 JFrame를 넣는다.
이 단순한 생각을 코딩한다면 JFrame.add(JFrame) 이런 방식을 사용한다는 의미 일 것입니다.
그러나 실제로 돌리면 안된다는 것을 알 수 있습니다. 물론 공부를 탄탄히 하셨다면 왜 인지도 알수 있겠지요.
그럼 어떻게 해야 할까요? 방법은 간단합니다 JInternalFrame 클래스를 이용하면 됩니다.
JInternalFrame 클래스에 대한 자세한 정보는 API를 참고하세요.
이용 방법은 간단합니다. add를 이용해서 넣어주면 됩니다.
그러나 여기서 주의해야 할 것이 한가지 있는데..
setSize, setLocation 등 일부 메소드가 먹히지 않는 경우가 발생할 수 있습니다.
그 이유는 바로 레이아웃 메니저에 대한 설정 문제 입니다. 이런 간단한 설명으로는 이해가 부족할 수 있으니 간단한 예제를 통해서 더 자세히 알아보도록 합시다.
import javax.swing.*;
public class Internaltest {
public static void main(String[] args) {
JFrame frm = new JFrame("외부 윈도우 창");
JPanel jp = new JPanel();
frm.setLayout(null);
// 이 부분이 생각보다 중요할 수 있습니다. 레이아웃 메니저 때문에 원하는 데로 설정이 안될 수도 있습니다.
// JPanel, JFrame는 기본적인 레이아웃이 다르게 설정 돼 있죠..
JInternalFrame inter = new JInternalFrame("내부 윈도우 창",false,false,false,false);
// JInternalFrame 클래스는 생성자가 많으니 API를 잘 참고해야 합니다.
inter.setSize(200,300);
inter.setLocation(100, 50);
inter.setVisible(true);
frm.add(inter);
frm.setSize(500,500);
frm.setVisible(true);
}
}
간단한 예제이지만 실제로 해보지 않으면 도움이 되질 못합니다. 꼭 해보시길 바랍니다.
# by | 2008/11/10 22:42 | 정리할 자료들 | 트랙백 | 덧글(1)
◀ 이전 페이지다음 페이지 ▶



