지난 시간 모든 레이아웃을 소개하기에는 너무 길어질거 같아
남은 레이아웃에대한 포스팅을 이어서 진행하도록 하겠습니다.
Card와 Tab,Fit,HBox/VBox에 대한 소개 및 이해에 관하여 작성하도록 하겠습니다.
이번에 다룰 레이아웃에 대한 소개및 그외 레이아웃대한 소개글이 들어있는 이전 포스팅보러가기
이전 포스팅을 보시고 다루고자 할 레이아웃에 대한 이해를 하고 오셨나요?
그럼 본격적으로 진행을 해보도록 하겠습니다.
연동이 되지 않으신 분들은 하단 포스팅을 확인해주세요
2014/10/18 - [웹개발강좌/ExtJS] - ExtJS 강좌 - ExtJS5를 이용한 설치 및 연동하기 편
Ext.onReady(function(){ //도화지가 되는 Panel컴포넌트 생성 Ext.create("Ext.panel.Panel",{ //도화지를 그려놓을 위치(Ext.getBody()의미 : <body>태그내에 그린다) renderTo : Ext.getBody(), //레이아웃유형 카드 layout : 'card', width: 500, height: 400, items:[ { title: '1page', html: '첫페이지 나오는 컨텐츠영역' }, { title: '2page', html: '두번째페이지 나오는 컨텐츠영역' }, { title: '3page', html: '마지막페이지 나오는 컨텐츠영역' } ], fbar : [{ xtype : 'button', text : '이전페이지', handler : function(obj){ if(obj.up("panel").getLayout().getPrev()) { obj.up("panel").setActiveItem(obj.up("panel").getLayout().getPrev()); } } },{ xtype : 'button', text : '다음페이지', handler : function(obj){ if(obj.up("panel").getLayout().getNext()) { obj.up("panel").setActiveItem(obj.up("panel").getLayout().getNext()); } } }] }); })
카드 레이아웃은 버튼 컴포넌트를 이용하여 화면을 이동을 해야 하기 때문에 panel 도화지를 이용하였습니다.
왜 계속 viewport만 사용하다 panel을 사용했느냐? 모르셔도 됩니다.
레이아웃의 강좌에서는 items와 layout 속성만을 익히시고 나머지 옵션들은 이후에 천천히 다루도록 하겠습니다.
fbar가 뭐고 handler안에 있는 함수들은 뭐지? 이 역시 모르셔도 됩니다.
너무 무심한거 아니냐고요?
이 포스팅에서는 각각의 레이아웃들의 의미를 이해하는것이 목적이므로 속성들에 대해서는 이후 다루도록 하겠습니다.
카드레이아웃은 이전/다음페이지 버튼을 클릭하여 페이지 이동이 되시는것을 확인할 수 있습니다.
다음으로는 카드레이아웃(탭 레이아웃) 입니다.
카드레이아웃과 동일하지만 다른점이 있다면 탭레이아웃은 당연하겠지만 탭바가 존재한다는 것입니다.1
툴바에 버튼을 클릭하여 동일하게 이동이 가능하나 탭바가 있는데 궂이 툴바가 필요할까요?
코드를 먼저 보시죠
Ext.onReady(function(){ //기존 card 레이아웃의 도화지가 일반 패널이었다면 tab은 layout 속성대신 Ext.tab.Panel이라는 탭도화지를 선언하면 됩니다. Ext.create("Ext.tab.Panel",{ //도화지를 그려놓을 위치(Ext.getBody()의미 : <body>태그내에 그린다) renderTo : Ext.getBody(), width: 500, height: 400, items:[ { title: '1page', html: '첫페이지 나오는 컨텐츠영역' }, { title: '2page', html: '두번째페이지 나오는 컨텐츠영역' }, { title: '3page', html: '마지막페이지 나오는 컨텐츠영역' } ] }); })
위에 주석처럼 Tab레이아웃은 layout 속성을 변경하는것이 아니고
최상단 도화지의 컴포넌틑종류를 Ext.tab.Panel 적용을 해주는 것입니다.
다음 설명할 레이아웃종류는 Fit 입니다.
fit 레이아웃을 적용하게 되신다면 도화지의 자식의 레이아웃이 자동으로 width/height 100% 맞춰주는 레이아웃입니다.
Ext.onReady(function(){ //도화지가 되는 Panel컴포넌트 생성 Ext.create("Ext.panel.Panel",{ //도화지를 그려놓을 위치(Ext.getBody()의미 : <body>태그내에 그린다) renderTo : Ext.getBody(), width: 400, height: 300, //레이아웃 유형 fit layout : 'fit', items:[ { title: '가득차는 자식레이아웃', frame : true, html: '자식레이아웃 1개만 부모레이아웃의 높이에 맞춰서 가득 채워집니다' } ] }); })
fit란?
부모 레이아웃의 높이가 얼마가 되었던간에 layout 속성값을 fit을 주게되면
무조건 자식의 width/height가 100%로 적용이 되는것이라고 이해하시면 되겠습니다.
단, 자식노드는 제일 처음에 정의된 1개로 100% 채워줍니다.
다음 그림을 참고하세요.
위 그림처럼 부모도화지에 layout:'fit' 을 지정해주게 되면 자식 패널이 가득 차게 되는 구조입니다.
만약 자식 레이아웃이 2개다? 그래도 방금 말씀드린것처럼 첫번째 자식 레이아웃만 가득차게 되며 두번째 자식 레이아웃은 화면에 나오지 않습니다.
위와같은 결과가 나오게 될것입니다 ^^
layout : 'fit' 속성을 준 자식 레이아웃은 한개만 지정이 가능하다만 기억하시면 되겠습니다.
그럼 layout : 'fit' 속성을 뭐하러 쓰느냐 라고 생각하실 분들이 계시겠지만
사용하다보면 layout : 'fit'은 필수(?)라고 할정도로 자주 쓰이니 기억해주세요.
마지막으로 소개할 레이아웃은 HBox/VBox 레이아웃입니다.
HBox : Horizon Box
VBox : Vertical Box
HBox는 가로로 패널들을 정렬시켜주는 레이아웃이고
VBox는 세로로 패널들을 정렬시켜주는 레이아웃입니다.
Ext.onReady(function(){ //도화지가 되는 Panel컴포넌트 생성 Ext.create("Ext.panel.Panel",{ //도화지를 그려놓을 위치(Ext.getBody()의미 : <body>태그내에 그린다) renderTo : Ext.getBody(), width: 400, height: 300, //레이아웃 유형 fit layout : 'hbox', items:[ { title: '가로정렬 자식레이아웃1', flex : 1, frame : true, html: '가로정렬내용1' }, { title: '가로정렬 자식레이아웃2', flex : 1, frame : true, html: '가로정렬내용2' } ] }); })
위와 같이 HBox 타입으로 레이아웃 설정시 가로로 출력이 되는 것을 확인 하였습니다.
VBox는 위치변경만 될뿐이므로 layout : 'vbox' 속성은 별도로 확인해보시면 되겠습니다.
지금까지 레이아웃의 종류들을 알아보았습니다.
다음장에는 패널을 이용한 툴바의 위치설명 및 툴바에 생성된 버튼들의 태그 이벤트에 대해서 포스팅을 해보도록 하겠습니다.
by 개발로짜
ExtJS 강좌 - 다이얼로그창을 이용하여 깔끔하게 종류별로 메시지창 띄워보기 (4) | 2014.10.23 |
---|---|
ExtJS 강좌 - 메뉴버튼을 포함한 다양한 버튼컴포넌트 구현해보기 (4) | 2014.10.22 |
ExtJS 강좌 - 툴바위치 및 버튼 클릭 이벤트 알아보기 (0) | 2014.10.21 |
ExtJS 강좌 - 지원해주는 레이아웃 알아보기(Absolute,Accordion,Border) (2) | 2014.10.20 |
ExtJS 강좌 - ExtJS5를 이용한 설치 및 연동하기 편 (0) | 2014.10.18 |
ExtJS의 레이아웃종류는 약 11종류를 제공해줍니다.
Absolute, Accordion, Border, Card, Tab, Fit, Hbox/Vbox, Table/Center/Column Layout
이번장에서는 각 레이아웃별 간단한 설명 및 Absolute,Accordion,Border레이아웃에 대한
샘플 코드 및 실행결과에 대하여 알아보도록 하겠습니다.
레이아웃명칭 그대로 절대적으로 레이아웃이 위치에 정해지면 브라우저 화면 사이즈가 바뀌더라도 지정된 위치에 fix 되는 레이아웃입니다.
특이한 경우를 제외하고는 잘 사용하지 않는 레이아웃입니다 ^^
jQueryUI에서도 제공되는 어코디언 레이아웃입니다.
어코디언을 사용할 경우는 여러개의 컨텐츠(?)들을 한화면에 뿌리기에 부담이 될 경우 사용하시면 되겠습니다.
한번의 클릭당 하나의 컨텐츠를 시각적으로 확인하기 깔끔한 레이아웃입니다.
제 블로그의 스킨에도 사용된 부분은 좌측에 위젯관련 사이드바에 적용이 되었습니다.
이 레이아웃은 초기에 화면의 전체 레이아웃을 잡는데 유용한 레이아웃입니다.
"Border"를 사용하게 되면 Header/Footer/Side 등의 구조를 쉽게 잡게 해줍니다.
거의 ExtJS의 필수로 알아야하는 레이아웃(?) 이라고 저는 생각합니다.
카드레이아웃은 컨텐츠 내용의 화면 전환을 하는것이라고 생각하시면 되겠습니다.
예를들면 스마트폰 어플화면에서 메뉴 또는 게시판 목록의 내용을 클릭하면 화면이 스르륵 슬라이드 되면서 다른 내용의 페이지로 이동이 되는기능을 자주 보셨을 것인대
비슷한 기능이라 생각하시면 될것입니다.
탭기능은 따로 말씀드리지 않아도 되나 탭 레이아웃 역시 카드레이아웃과 동일한 레이아웃구조입니다.
탭과카드레이아웃의 차이점이라면 탭바의 존재유무정도겠네요.
화면을 꽉채우는 레이아웃입니다.
이 레이아웃 역시 Border와 같이 자주 사용되는 레이아웃입니다.
Fit이라는 레이아웃을 사용될경우, 현재 지정된 상단부모의 영역에 맞추어 자동으로 사이즈를 채워주는 역할을 하는 레이아웃입니다.
글로는 설명드리기는 애매하지만 이후 예를 들면서 진행시 서서히 이해가 가실것입니다.
HBox : 패널들을 가로로 출력시켜주는 레이아웃
VBox : 패널들을 세로로 출력시켜주는 레이아웃
이 레이아웃들은 로그인 또는 회원가입등 폼 구조를 잡아줄때 주로 사용을 합니다.
위처럼 나머지 3개의 레이아웃이 존재하는데 이 레이아웃들의 데핸 설명은 제외하도록 하겠습니다.
저도 사용해본적이 없어서 전달드리기가 애매~해서입니다 ;;
위와같이 다양한 레이아웃을 ExtJS에서는 제공을 해주고 있습니다.
실제로 코드 작성전에 밑의 내용을 꼭 이해해주셨으면 좋겠습니다.
※ ExtJS의 컴포넌트 생성의 경우 JSON 규격으로 KEY/VALUE값으로만으로 생성이 가능합니다.
(기존의 일반 스크립트를 이용하여 구현했던 분들에게는 이해하기 약간 난해하실수 있습니다.)
그렇다면 이제 각 레이아웃의 이해를 돕고자 레이아웃관련 샘플코드를 몇가지 작성해보도록 하겠습니다.
레이아웃을 그리기기전에 도화지나 A4용지와 같은 역할을 해주는 껍데기가 있어야 하겠죠?
도화지 역할을 해주는 컴포넌트들은 'panel', 'container', 'viewport' 3가지정도로 요약할 수 있겠습니다.
container같은 경우는 저는 거의 사용을 하지 않고
최상단 부모 껍데기를 제작하고자 할 경우에는 viewport를 사용하고
viewport의 자식 레이아웃을 그릴경우에는 panel을 사용합니다.
어떠한 껍데기로 생성하여 컴포넌트를 그릴지는 스스로 결정을 하시길 바랍니다.
그럼 지난강좌 INCLUDE를 기본적으로 한 CSS/JS파일이 존재한다 가정하고 레이아웃을 그려보도록 하겠습니다.
연동법은 하단 포스팅을 참고해주세요
2014/10/18 - [웹개발강좌/ExtJS] - ExtJS 강좌 - ExtJS5를 이용한 설치 및 연동하기 편
그럼 제일먼저 Absolute Layout에 대하여 예를 들어보도록 하겠습니다.
ExtJS 사이트의 샘플코드는 Ext.panel.Panel이란 도화지에 생성하여
예를들지만 저같은 경우에는 viewport라는 도화지를 이용하여 예를 들도록 하겠습니다.
viewport 도화지의 장점이라 하면, 별도의 높이속성을 지정하지 않아도
가로/세로의 간격이 자동으로 브라우저의 100%를 채워줍니다.
Ext.onReady(function(){ //도화지가 되는 Panel컴포넌트 생성 Ext.create("Ext.container.Viewport",{ //도화지를 그려놓을 위치(Ext.getBody()의미 : <body>태그내에 그린다) renderTo : Ext.getBody(), //absolute 레이아웃 layout : 'absolute', items:[ { //패널의 제목 title: '첫번째 패널', //패널의 x,y 좌표위치 x: 50, y: 50, //패널의 Body영역에 들어갈 HTML내용 html: 'x좌표 50/y좌표 50', //패널의 넓이/높이 width: 200, height: 100, //테두리두께 옵션 frame: true }, { //패널의 제목 title: '두번째패널', //패널의 x,y 좌표위치 x: 125, y: 125, //패널의 Body영역에 들어갈 HTML내용 html: 'x좌표 125/y좌표 125', //패널의 넓이/높이 width: 200, height: 100, //테두리두께 옵션 frame: true } ] }); })
위처럼 절대좌표로 인해서 겹쳐지는 화면을 확인 할수 있습니다.
설명을 드리자면 Ext.create부분에 panel 객체를 하나 생성 후 items 하단내에 sub 컴포넌트들을 2개 정의하였습니다.
흰바탕이 도화지 역할을 하는 첫번째 viewport객체이고
items 내부에 각 x/y좌표 및 title/html등의 옵션을 준 panel 컴포넌트들이 도화지 위에 그려진 것입니다.
items내에 xtype이란것이 지정되지 않았지만 지정을 하지 않으셨다면
기본 레이아웃의 xtype은 panel로 인식되니 xtype 속성을 붙여주셔도 무관합니다.
여기서 xtype이란 쉽게말해서 html태그들과 유사한 개념이라고 이해하시면 되겠습니다.
Ext.onReady(function(){ //도화지가 되는 Panel컴포넌트 생성 Ext.create("Ext.container.Viewport",{ //도화지를 그려놓을 위치(Ext.getBody()의미 : <body>태그내에 그린다) renderTo : Ext.getBody(), //absolute 레이아웃 layout : 'accordion', items:[ { //패널의 제목 title: '두번째 accordion 타이틀', //패널의 내용 html: '첫번째 accordion 내용' }, { //패널의 제목 title: '첫번째 accordion 타이틀', //패널의 내용 html: '두번째 accordion 내용' } ] }); })
어코디언 레이아웃은 위와같이 접히고 펼치는 효과로 인하여
컨텐츠내용이 하나씩 보여지는것이 가능한것을 확인하였습니다.
해당 코드는 레이아웃구조를 정하는데 자주 사용되는 방식이니 코드작성 후
각 속성별 상세 설명을 들어가도록 하겠습니다.
Ext.onReady(function(){ //도화지가 되는 Panel컴포넌트 생성 Ext.create("Ext.container.Viewport",{ //도화지를 그려놓을 위치(Ext.getBody()의미 : <body>태그내에 그린다) renderTo : Ext.getBody(), //absolute 레이아웃 layout : 'border', items:[ { //헤더(header) region : 'north', //패널의 제목 title: '상단 타이틀', border : true, //패널의 내용 html: '상단 내용' }, { //중앙 region : 'center', //패널의 제목 title: '중앙 타이틀', border : true, //패널의 내용 html: '중앙 내용' }, { //풋터(footer) region : 'south', //패널의 제목 title: '하단 타이틀', border : true, //패널의 내용 html: '하단 내용' }, { //좌측사이드 region : 'west', //패널의 제목 title: '좌측 타이틀', border : true, //패널의 내용 html: '좌측 내용' }, { //우측사이드 region : 'east', //패널의 제목 title: '우측 타이틀', border : true, //패널의 내용 html: '우측 내용' } ] }); })
도화지의 자식격인 items내에 패널의 속성중 region이라는 속성값이 존재합니다.
이 속성값이 각각의 위치를 잡아주는 속성값입니다.
영단어라서 어디에 위치하는것인지는 쉽게 이해가 가실것입니다.
north : 북,center : 중앙,south : 남,west : 서,east : 동
"border:true" 속성을 준 이유는 영역의 구분을 눈으로 확인하고자 지정해준것입니다.
영역구분이 보기가 싫으신분이시라면 border:true를 제거 혹은 border:false를 주시면 되겠습니다.
글이 길어지면 지루해지겠죠?
나머지 레이아웃에 대한 설명은 다음장에 이어서 진행하도록 하겠습니다.
다음 포스팅에 다룰 레이아웃 종류
Card,Tab,Fit,Hbox/Vbox Layout
by 개발로짜
ExtJS 강좌 - 다이얼로그창을 이용하여 깔끔하게 종류별로 메시지창 띄워보기 (4) | 2014.10.23 |
---|---|
ExtJS 강좌 - 메뉴버튼을 포함한 다양한 버튼컴포넌트 구현해보기 (4) | 2014.10.22 |
ExtJS 강좌 - 툴바위치 및 버튼 클릭 이벤트 알아보기 (0) | 2014.10.21 |
ExtJS 강좌 - 지원해주는 레이아웃 알아보기(Card,Tab,Fit,HBox/VBox) (0) | 2014.10.20 |
ExtJS 강좌 - ExtJS5를 이용한 설치 및 연동하기 편 (0) | 2014.10.18 |
ExtJS에 대한 강좌를 진행하도록 하겠습니다.
이전 강좌내용에 추가로 내용을 보완하며 좀더 쉽게 접근하도록 강좌를 진행하도록 하겠습니다.
ExtJS를 공부하시기전 우선적으로 습득하셔야 할 지식이 있다면
1. JSON에 대한 지식 ( object 형과 array object형에 대한 이해)
2. 자바스크립트 및 jQuery 선지식
위 2가지정도에 대한 기술을 습득하신 상태라 가정하고
ExtJS강좌를 본격적으로 진행하도록 하겠습니다.
제일먼저 ExtJS 구동을 위하여 ExtJS 프레임워크 다운로드를 받도록 하겠습니다.
※ 보통은 sencha cmd인가 그걸로 설치를 하는거 같으나 이부분은 생략하고
기존 빌드되어있는 파일을 다운받아 진행하도록 하겠습니다.
http://www.sencha.com/products/extjs/details
위 주소로 접속하신 후 DOWNLOAD 버튼을 클릭하여 파일을 다운받도록 합니다.
스크롤 밑에까지 내리시면 위와같은 다운로드 페이지가 보이실 겁니다.
전 버전보다 0.0.1버전이 올라서 현재기준 ext-5.0.1-gpl.zip 파일로 다운로드 받아지네요
다운로드가 완료되었으면 압축해제 한다음, build 디렉토리로 이동합니다.
여러가지 JS파일들이 존재하지만 ext-all.js 파일을 기준으로 연동을 진행하겠습니다.
다음은 ExtJS 테마가 필요하기 때문에 /builds/packages/ 디렉토리로 이동합니다.
위와같이 ext-theme-xxxx 의 다양한 테마들이 존재합니다.
일정 테마하나를 사용하시면 리소스 용량을 절약할수 있습니다.
저는 개인적으로 crisp테마가 마음에 들긴 하지만 테마비교를 위해
위에 네모친 모든 테마를 프로젝트에 이동시키도록 하겠습니다.
※ 참고로 다운로드 받으신 extjs 파일들은 지우지 마시고 보관하시고 있으셔야 합니다.
추후에 차트관련 강좌 진행시 ext-charts같은 폴더들이 추가로 필요하기 때문입니다 ^^
다음과 같이 이클립스 기준 프로젝트 WEB ROOT에 다음과 같이 디렉토리를 잡아주시면 되겠습니다.
ext-theme-classic-sandbox 테마 디렉토리는 제외하였습니다.
무슨 테마인지 정확히 모르겠지만 테마적용이 되지 않는듯 합니다.
이제는 index.html파일에 onload시 "HelloWorld" 문구를
메시지 창에 출력을 해보도록 하겠습니다.
필수로 ext-all.js 파일을 include하는 작업이 필요하겠습니다.
<script type="text/javascript" src="/extjs/ext-all.js"></script>
include하셨다면 다음은 테마관련 css 파일 및 js 파일을 include 하도록 하십니다.
총 7개의 테마들중 마음에 드시는 테마에 대한 css/js 파일을 자신의 파일에 include하시면 되겠습니다.
<!--1.classic 테마--> <link rel="stylesheet" type="text/css" href="/extjs/ext-theme-classic/build/resources/ext-theme-classic-all.css"/> <!--2.black 테마--> <link rel="stylesheet" type="text/css" href="/extjs/ext-theme-aria/build/resources/ext-theme-aria-all.css"/> <!--3.Crisp테마 깔끔함--> <link rel="stylesheet" type="text/css" href="/extjs/ext-theme-crisp/build/resources/ext-theme-crisp-all.css"/> <!--4.Crisp터치테마 깔끔하며 Crisp테마보다 사이즈가 조금씩 더 큼(모바일용?)--> <link rel="stylesheet" type="text/css" href="/extjs/ext-theme-crisp-touch/build/resources/ext-theme-crisp-touch-all.css"/> <!--5.Gray 회색테마--> <link rel="stylesheet" type="text/css" href="/extjs/ext-theme-gray/build/resources/ext-theme-gray-all.css"/> <!--6.Neptune테마 (Facebook?Window8과 비슷)--> <link rel="stylesheet" type="text/css" href="/extjs/ext-theme-neptune/build/resources/ext-theme-neptune-all.css"/> <!--7.Neptune터치테마 (Facebook?Window8과 비슷) 모바일용?--> <link rel="stylesheet" type="text/css" href="/extjs/ext-theme-neptune-touch/build/resources/ext-theme-neptune-touch-all.css"/>
<!--1.classic 테마--> <script type="text/javascript" src="/extjs/ext-theme-classic/build/ext-theme-classic.js"></script> <!--2.black 테마--> <script type="text/javascript" src="/extjs/ext-theme-aria/build/ext-theme-aria.js"></script> <!--3.ExtJS5부터 추가된 Crisp테마 깔끔함--> <script type="text/javascript" src="/extjs/ext-theme-crisp/build/ext-theme-crisp.js"></script> <!--4.Crisp터치테마 깔끔하며 Crisp테마보다 사이즈가 조금씩 더 큼 모바일용 추천테마--> <script type="text/javascript" src="/extjs/ext-theme-crisp-touch/build/ext-theme-crisp-touch.js"></script> <!--5.Gray 회색테마--> <script type="text/javascript" src="/extjs/ext-theme-gray/build/ext-theme-gray.js"></script> <!--6.Neptune테마 (Facebook?Window8과 비슷)--> <script type="text/javascript" src="/extjs/ext-theme-neptune/build/ext-theme-neptune.js"></script> <!--7.Neptune터치테마 (Facebook?Window8과 비슷) 모바일용 추천테마--> <script type="text/javascript" src="/extjs/ext-theme-neptune-touch/build/ext-theme-neptune-touch.js"></script>
소스코드내에 INCLUDE 하셨다면
출력관련 설명을 해보도록 하겠습니다.
MVC구조를 적용전까지는 기본 컴포넌트 출력은
항상 ONLOAD FUNCTION 내에 컴포넌트 생성을 위한 코드를 작성하도록 하겠습니다.
일반 자바스크립트의 경우 window.onload
jQuery의 경우 $(document).ready(function(){}) 또는 $(function(){})
와 같은 기능의 ExtJS의 LOAD함수는
Ext.onReady(function(){ // code here })
위처럼 작성하실 수 있겠습니다.
그럼 onready 함수내에 메시지 출력을 해보도록 하겠습니다.
//code here 란에 다음과 같이 코드작성을 해줍니다.
Ext.Msg.alert('Header', 'HelloWorld!!');
Ext.Msg.alert()는 메시지 문구를 띄워주는 함수인대 각 테마별 출력결과를 확인해보겠습니다
각 테마별 결과를 위와같이 확인해 보았습니다.
다음 장부터는 컴포넌트들을 하나씩 생성해보는 작업을 진행하도록 하겠습니다
by 개발로짜
ExtJS 강좌 - 다이얼로그창을 이용하여 깔끔하게 종류별로 메시지창 띄워보기 (4) | 2014.10.23 |
---|---|
ExtJS 강좌 - 메뉴버튼을 포함한 다양한 버튼컴포넌트 구현해보기 (4) | 2014.10.22 |
ExtJS 강좌 - 툴바위치 및 버튼 클릭 이벤트 알아보기 (0) | 2014.10.21 |
ExtJS 강좌 - 지원해주는 레이아웃 알아보기(Card,Tab,Fit,HBox/VBox) (0) | 2014.10.20 |
ExtJS 강좌 - 지원해주는 레이아웃 알아보기(Absolute,Accordion,Border) (2) | 2014.10.20 |