티스토리 뷰
반응형
SmartGWT에서는 Microsoft의 Windows와 유사한 기능을 제공하고 있는 Window 클래스를 제공 하고 있습니다.
Window 클래스에서는 사용자의 정의에 따라 Window 타이틀바에 여러가지 Icon을 추가하여,
웹브라우저에 마치 Window 응용프로그램이 동작되는 것처럼 착각을 일으킬 정도로 강력한 기능을 제공 합니다.
Window 클래스의 사용목적은 웹브라우저내에 여러가지 웹 컨텐츠를 동시에 보여질때와,
사용자가 버튼이나 기타 동작을 요할때 화면상에 특정화면을 노출 시키고자 사용 합니다.
Window 클래스를 사용하여 화면에 UI측면에서 각 기능을 그리고 할때는 SmartGWT의 Widget들과 Layout을 배치하여
구성하게 됩니다.
즉 Window Calss는 화면의 특정 영역에 웹컨텐츠를 그리기위한 Canvas 역할을 합니다.
물론 사용자의 Action에 따라 Mouse Event와 Keyboard Evnet 기능도 제공되며, Window의 타이틀바를 클릭하여
Window의 위치를 이동시킬수 있습니다.
이러한 기능들은 Window에서 쉽게 접할수 있는 UI중 하나 입니다.
package com.smartgwt.sample.client;
import com.google.gwt.core.client.EntryPoint;
import com.smartgwt.client.types.HeaderControls;
import com.smartgwt.client.util.SC;
import com.smartgwt.client.widgets.HeaderControl;
import com.smartgwt.client.widgets.Window;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.tile.TileLayout;
public class SmartGWTSample4 implements EntryPoint {
public void onModuleLoad() {
TileLayout tLayout = new TileLayout();
tLayout.setTileWidth(300);
tLayout.setTileHeight(160);
tLayout.setWidth100();
tLayout.setHeight100();
tLayout.setTilesPerLine(3);
drawWindowStyleDefault(tLayout);
drawWindowStyleAppendDefault(tLayout);
drawWindowStyle1(tLayout);
tLayout.draw();
}
// SmartGWT Default Window Style
private void drawWindowStyleDefault(TileLayout obj)
{
Window window = new Window();
window.setTitle("Title");
window.setWidth(200);
window.setHeight(150);
obj.addTile(window);
}
// SmartGWT Append Default Window Style
private void drawWindowStyleAppendDefault(TileLayout obj)
{
Window window = new Window();
window.setTitle("Title");
window.setWidth(200);
window.setHeight(150);
window.setShowResizeBar(true);
window.setShowMaximizeButton(true);
obj.addTile(window);
}
// 사용자 변경 Window Header Style
private void drawWindowStyle1(TileLayout obj)
{
Window window = new Window();
window.setTitle("Title");
window.setWidth(200);
window.setHeight(150);
//마우스로 클릭 했을때 취하는 이벤트를 생성 합니다.
ClickHandler clickHandler = new ClickHandler() {
public void onClick(ClickEvent event) {
String src = ((HeaderControl) event.getSource()).getSrc();
SC.say("사용자가 클릭한 Control은 : " + src + " clicked");
}
};
//Window 클레스에서 사용 할 Icon들을 생성과 함께 앞서 생성한 마우스 이벤트를 등록 합니다.
//사용자가 아이콘을 마우스로 클릭하면 onClick()이 호출됩니다.
HeaderControl arrowDown = new HeaderControl(HeaderControl.ARROW_DOWN, clickHandler);
HeaderControl arrowLeft = new HeaderControl(HeaderControl.ARROW_LEFT, clickHandler);
HeaderControl arrowRight = new HeaderControl(HeaderControl.ARROW_RIGHT, clickHandler);
HeaderControl arrowUp = new HeaderControl(HeaderControl.ARROW_UP, clickHandler);
HeaderControl calculator = new HeaderControl(HeaderControl.CALCULATOR, clickHandler);
HeaderControl cart = new HeaderControl(HeaderControl.CART, clickHandler);
window.setHeaderControls(HeaderControls.HEADER_LABEL,
arrowDown,
arrowLeft,
arrowRight,
arrowUp,
calculator,
cart);
obj.addTile(window);
}
}
반응형
'개발자 이야기 > SmartGWT' 카테고리의 다른 글
SmartGWT 개발시작 하기 (0) | 2012.05.22 |
---|---|
SmartGWT 코딩하기 (0) | 2012.05.18 |
SmartGWT 사용하기 (0) | 2012.05.18 |
SmartGWT Project생성 (0) | 2012.05.15 |
SmartGWT 설치 (0) | 2012.05.15 |
GWT SDK (Google Web Toolkit) 설치 (0) | 2012.05.15 |
Smart GWT 공부 Start ..., (0) | 2012.05.15 |
SmartGWT 초기화면 Loging Page 초간단 버전 (0) | 2012.05.14 |
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 리눅스
- 식물 키우기
- cross compile
- 식물
- C
- 수경재배
- kernel
- 사무실
- Linux
- 큐비보드
- 베란다
- 상추
- 열무
- U-Boot
- 식물키우기
- 고흥
- arm
- 커피컵
- VirtualBox
- 1회용컵
- 벌교
- embeded
- CubieBoard2
- 크로스컴파일
- 버추얼박스
- 커널
- C++
- Android
- 임베이디드
- 채소 키우기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함