blob: 6d676eda9329dd1b52c4c7fe6c6b243c5ad4bba6 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0110)http://ria03-se.oss.nttcom.co.jp/public/technology/eclipse/rcp_tutorial/rcp_tutorial_ja1/rcp_tutorial_ja1.html -->
<HTML><HEAD><TITLE>RCP Tutorial: Part 1</TITLE>
<META http-equiv=Content-Type content="text/html; charset=shift_jis"><LINK
href="rcp_tutorial_ja1.files/default_style.css" rel=stylesheet>
<STYLE type=text/css>.style1 {
FONT-WEIGHT: bold
}
</STYLE>
<META content="MSHTML 6.00.2900.2627" name=GENERATOR></HEAD>
<BODY vLink=#800080 link=#0000ff>
<DIV align=right><FONT face="Times New Roman, Times, serif" size=2>&copy; 2005 by
Frank Gerhardt, Christian Wege; made available under the EPL v1.0<BR>
Translation copyright &copy; Toru Kawashima, NTT COMWARE CORPORATION </FONT>
<TABLE cellSpacing=0 cellPadding=2 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top align=left bgColor=#0080c0 colSpan=2><B><FONT
face=Arial,Helvetica><FONT color=#ffffff>&nbsp;Eclipse Corner
Article</FONT></FONT></B></TD></TR></TBODY></TABLE></DIV>
<DIV align=left>
<H1><IMG height=86 src="../index.files/Idea.jpg" width=120
align=center></H1>
</DIV>
<H1 align=center>RCP Tutorial: Part 1</H1>
<BLOCKQUOTE>
<P><B>Summary</B><BR>
‚±‚Ì Tutorial ‚Å‚Í EclipseCon 2005 ‚ōs‚í‚ꂽ Tutorial ‚ðƒTƒ}ƒŠ‚Å Part 1, <A
href="rcp_tutorial_ja2.html">Part 2</A> ‚É•ª‚¯‚ďЉ‚Ü‚·BEclipse 3.0 ‚©‚瓱“ü‚³‚ꂽ RCP (Rich
Client Platform) ‚ðŽg‚Á‚āARCP ‚É‚æ‚郊ƒbƒ`ƒNƒ‰ƒCƒAƒ“ƒg‚̐¢ŠE‚Æ‚»‚ÌŠJ”­‚Ì COOL ‚³‚ðŠ_ŠÔŒ©‚Ä‚¢‚½‚¾‚¯‚é‚ÆŽv‚¢‚Ü‚·B</P>
<P><b><img src="kawashima.jpg" width="65" height="100" align="right"></b>¦ ‚±‚̃Rƒ“ƒeƒ“ƒc‚Í
<A href="http://www.eclipsecon.org/2005/index.php"
target=_blank>EclipseCon 2005</A> ‚ōs‚í‚ꂽ <A
href="http://www.eclipsecon.org/2005/event.php?id=15" target=_blank>Tutorial
08: Developing Eclipse Rich Client Applications</A> ‚Ì<A
href="EclipseCon2005_Tutorial8.pdf"
target=_blank>ƒeƒLƒXƒg</A>‚ð–|–󂵂½‚à‚Ì‚Å‚·B“ú–{Œê–ó‚ɍۂµ‚ĉõ‚­‚²‹¦—Í‚¢‚½‚¾‚¢‚½ Dr. Frank GerhardtADr. Christian
Wege —¼Ž‚ÉŠ´ŽÓ‚¢‚½‚µ‚Ü‚·B</P>
<P><B>By Toru Kawashima, NTT COMWARE CO. </B><BR><FONT size=-1>2005 / 4 / 25
</FONT></P></BLOCKQUOTE>
<HR width="100%">
<H2>‚Í‚¶‚ß‚É</H2>
<P>Eclipse ‚ª—˜—p‚³‚ê‚é‚悤‚É‚È‚Á‚Ä‚·‚®‚ɁAƒAƒvƒŠƒP[ƒVƒ‡ƒ“\’z‚Ì‚½‚߂̃c[ƒ‹A‚‚܂è IDE
‚Æ‚µ‚Ä‚¾‚¯‚Å‚È‚­A‚¢‚í‚ä‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Æ‚µ‚Ä—˜—p‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½BEclipseŠJ”­ƒ`[ƒ€‚Í‚±‚ÌŒXŒü‚ðŒ}‚¦“ü‚ê‚āAEclipse 3.0 ‚Æ‹¤‚É
RCP‚𓱓ü‚µ‚Ü‚µ‚½B‚±‚ê‚É‚æ‚èAƒŠƒbƒ`ƒNƒ‰ƒCƒAƒ“ƒgƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì‚½‚߂̃vƒ‰ƒbƒgƒtƒH[ƒ€‚ª®—‚³‚êAEclipse
ƒx[ƒX‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚̍쐬‚ª—eˆÕ‚É‚È‚è‚Ü‚µ‚½B</P>
<P>‚»‚±‚Å‚±‚±‚ł́AƒŠƒbƒ`ƒNƒ‰ƒCƒAƒ“ƒg‚ðŽÀŒ»‚·‚é‹Zp‚̈ê‚‚Ƃµ‚āAEclipse ƒŠƒbƒ`ƒNƒ‰ƒCƒAƒ“ƒgƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðÐ‰î‚µ‚Ä‚¢‚«‚Ü‚·B</P>
<H3>ƒ`ƒ…[ƒgƒŠƒAƒ‹ŠT—v</H3>
<P>‚±‚̃`ƒ…[ƒgƒŠƒAƒ‹‚ł́ARCP ƒx[ƒX‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ÌŠJ”­AƒpƒbƒP[ƒWƒ“ƒOAƒfƒvƒƒCƒƒ“ƒgAXV‚Ì‘‡“I‚ȃA[ƒLƒeƒNƒ`ƒƒ‚ɂ‚¢‚Ĉȉº‚̂悤‚É Step
‚𓥂ñ‚ŏЉ‚Ä‚¢‚«‚Ü‚·B</P>
<P>Part 1
‚ł́A‚Æ‚Á‚Ä‚à¬‚³‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŠJ”­‚µ‚Ü‚·B‚±‚ê‚Í‚Æ‚Ä‚àƒŠƒbƒ`‚Æ‚Í‚¢‚¦‚Ü‚¹‚ñ‚ªAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̍\‘¢‚ðŠm”F‚·‚é‚ɂ͏\•ª‚Æ‚¢‚¦‚Ü‚·B‚»‚µ‚Ä‚±‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì”z•z‚܂ōs‚¢‚Ü‚·B</P>
<P><A
href="http://ria03-se.oss.nttcom.co.jp/public/technology/eclipse/rcp_tutorial/rcp_tutorial_ja2/rcp_tutorial_ja2.html">Part
2</A> ‚ł́A­X•¡ŽG‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðì¬‚µAƒwƒ‹ƒvƒVƒXƒeƒ€‚ð’ljÁ‚µ‚Ü‚·B‚³‚ç‚É branding ‚ð‰Á–¡‚µ‚½ feature
‚ð’ljÁ‚µA”z•z‚Ì‚½‚߂ɃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðƒpƒbƒP[ƒWƒ“ƒO‚µ‚Ü‚·B‚³‚ç‚ɁAƒAƒbƒvƒf[ƒgƒTƒCƒg‚âƒAƒbƒvƒf[ƒgƒ}ƒl[ƒWƒƒ‚ð—˜—p‚µ‚Ăǂ̂悤‚ɃAƒbƒvƒf[ƒg‚ð”z•z‚·‚é‚©‚ðÐ‰î‚µ‚Ü‚·B</P>
<P>Part 3 ‚ł́ARCP ‚É‚¨‚¯‚éƒeƒXƒg‚ðà–¾‚µ‚Ä‚¢‚«‚Ü‚·B</P>
<P>ƒ`ƒ…[ƒgƒŠƒAƒ‹’†‚ł́AEclipse ‚É“¯«‚³‚ê‚Ä‚¢‚é template ‚ð—˜—p‚µ‚Ü‚·B‚±‚Ì template ‚Í Eclipse
‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚ð’ljÁ‚µ‚½‚èAŠJ”­‚Ì Step ‚ðƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚·‚é‚Ì‚É”ñí‚É–ð‚É—§‚¿‚Ü‚·B</P>
<H3>€”õ</H3>
<P>ˆÈ‰º‚̊‹«‚ð€”õ‚µ‚Ü‚·B</P>
<UL>
<LI>PC
<LI>JDK 1.4.2 Installed<BR><A
href="http://java.sun.com/j2se/1.4.2/ja/download.html" target=_blank>Sun
‚̃TƒCƒg</A>
<LI>ÅV‚Ì Eclipse Milestone Build ‚Ì Eclipse SDKARCP ‚¨‚æ‚Ñ RCP SDK<BR>¦ <A
href="http://www.eclipse.org/downloads/index.php" target=_blank>Œ»Ý‚̍ŐV</A>‚Í
Eclipse 3.1 M6 (2005/4/25) </LI></UL>
<BLOCKQUOTE><PRE>eclipse-RCP-3.1M6-win32.zip
eclipse-RCP-SDK-3.1M6-win32.zip
eclipse-SDK-3.1M6-win32.zip
</PRE></BLOCKQUOTE>
<P><IMG height=13 src="rcp_tutorial_ja1.files/note.gif" width=62> ‚±‚̃`ƒ…[ƒgƒŠƒAƒ‹‚Í
Windows XP
ã‚ōs‚í‚ê‚Ä‚¢‚Ü‚·‚ªA‘¼‚̃vƒ‰ƒbƒgƒtƒH[ƒ€‚Å‚à×‚©‚¢•ÏX‚Ì‚Ý‚Å“Ç‚Ý‘Ö‚¦‚ç‚ê‚é‚ÆŽv‚¢‚Ü‚·B‚»‚̈ê‚‚Ƃµ‚ďã‹LƒA[ƒJƒCƒu‚Í‚²—˜—p‚̃vƒ‰ƒbƒgƒtƒH[ƒ€‚É‚ ‚킹‚Ä—pˆÓ‚µ‚Ä‚­‚¾‚³‚¢B</P>
<P>&nbsp;</P>
<H2>Eclipse ƒCƒ“ƒXƒg[ƒ‹</H2>
<P>ˆÈ‰º‚̃fƒBƒŒƒNƒgƒŠ\¬‚ð—˜—p‚µ‚Ü‚·B</P>
<UL>
<LI>Eclipse ƒCƒ“ƒXƒg[ƒ‹ƒfƒBƒŒƒNƒgƒŠF &lt;eclipse-dir&gt; i—Ⴆ‚Î C:\eclipsej
<LI>workspace F&lt;workspace-dir&gt; i—Ⴆ‚Î C:\workspace j </LI></UL>
<P>ƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·B</P>
<UL>
<LI>&lt;eclipse-dir&gt; ‚É Eclipse-SDK ‚ð“WŠJ
<LI>&lt;eclipse-dir&gt; ‚É Eclipse-RCP-SDK ‚Ì plugins ‚Æ features ‚ð“WŠJ
<LI>‹N“® </LI></UL>
<P>‹N“®‚ªŠm”F‚Å‚«‚½‚珀”õŠ®—¹‚Å‚·B</P>
<P>&nbsp;</P>
<H2>Šî–{RCPƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̍쐬</H2>
<P>Eclipse ‚Í RCP
ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðì¬‚·‚邽‚߂̃EƒBƒU[ƒh‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B‚±‚ê‚É‚æ‚èƒVƒ“ƒvƒ‹‚ȃXƒPƒ‹ƒgƒ“‚ðì¬‚Å‚«‚Ü‚·B‚±‚̃EƒBƒU[ƒh‚ð—˜—p‚·‚é‚ÆŽŸ‚̃Xƒeƒbƒv‚Å RCP
ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðì¬‚Å‚«‚Ü‚·B</P>
<P><IMG height=13 src="rcp_tutorial_ja1.files/tryit.gif" width=61>
ƒvƒƒWƒFƒNƒg‚ðì¬‚µ‚Ä‚Ý‚Ü‚µ‚傤</P>
<UL>
<LI>New Plug-in Project ‚̍쐬
<LI>Project name: rcpdemo
<LI>Next
<LI>"Would you like to create a rich client application?"&gt; Check "Yes"
</LI></UL>
<BLOCKQUOTE>
<P><IMG height=373 alt="" src="rcp_tutorial_ja1.files/wizard1.gif" width=407
border=0 name=a></P></BLOCKQUOTE>
<UL>
<LI>Template Page ‚É‚Ä "Hello RCP" ‚ð‘I‘ð
<LI>Finish </LI></UL>
<P>‚Æ‚Á‚Ä‚àƒVƒ“ƒvƒ‹‚È RCP ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªì¬‚Å‚«‚Ü‚µ‚½B“¯Žž‚É Plug-in Manifest Editor
‚ª‹N“®‚µ‚Ä‚«‚Ä‚¢‚Ü‚·B‚±‚̃^ƒu‚ɂ‚¢‚ÄŠÈ’P‚ÉŒ©‚Ä‚¢‚«‚Ü‚·B</P>
<P>"Overview" ƒ^ƒu‚Í‚±‚Ì Plug-in ‚Ì ID ‚Æ–¼‘O‚ðŽ¦‚µ‚Ä‚¢‚Ü‚·B</P>
<BLOCKQUOTE>
<P><IMG height=322 src="rcp_tutorial_ja1.files/manifest1.gif"
width=406></P></BLOCKQUOTE>
<P>"Dependencies" ƒ^ƒu‚Í’¼Ú“I‚Ȉˑ¶ŠÖŒW‚ðŽ¦‚µ‚Ä‚¢‚Ü‚·‚ªAŠÔÚ“I‚È‚à‚Ì‚ÍŒ»‚µ‚Ä‚¢‚Ü‚¹‚ñB‚µ‚©‚µAŽÀÛ‚É RCP
ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚𓮍삳‚¹‚邽‚߂ɂ́A’¼Ú“IAŠÔÚ“I—¼•û‚̈ˑ¶«‚ð•K—v‚Æ‚µ‚Ü‚·B‚±‚ê‚̓AƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì”z•z‚̍ۂɏd—v‚É‚È‚è‚Ü‚·B‚½‚¾A‚±‚±‚ł͏ڂµ‚­‚͐G‚ꂸ‚ɁAŒã‚ɃRƒ“ƒtƒBƒOƒŒ[ƒVƒ‡ƒ“ƒEƒBƒU[ƒh‚ðŽg‚Á‚āA‚ǂ̂悤‚É‚±‚̈ˑ¶ŠÖŒW‚ð‚©‚çƒpƒbƒP[ƒWƒ“ƒO‚ðs‚¤‚©‚ðà–¾‚µ‚Ü‚·B</P>
<P>"Extensions" ƒ^ƒu‚ł́APlug-in ã‚É’è‹`‚³‚ꂽV‚µ‚¢ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŽ¦‚µ‚Ä‚¢‚Ü‚·iRCP ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Í Plug-in
‚̈êŽí‚Å‚·jB“¯Žž‚ɁA‚ЂƂ‚̐V‚µ‚¢ perspective ‚à’è‹`‚µ‚Ä‚¢‚Ü‚·B‚±‚ê‚ÍŒã‚قǃ\[ƒXƒR[ƒh‚ÅŒ©‚Ä‚¢‚«‚Ü‚·B</P>
<P>V‚µ‚¢ Plug-in Project Wizard ‚Írcpdemo
ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É•K—v‚ȃ\[ƒXƒR[ƒh‚à“¯Žž‚ɍ쐬‚µ‚Ä‚­‚ê‚Ü‚·B‚±‚̃\[ƒXƒR[ƒh‚ðŒ©‚é‘O‚ɁA‚È‚É‚Í‚Æ‚à‚ ‚êAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð‹N“®‚µ‚Ä‚Ý‚Ü‚µ‚傤B</P>
<P>&nbsp;</P>
<H2>Rich Client Application ‚Ì‹N“® </H2>
<P>‚»‚±‚Å launch configuration ‚𑀍삵‚Ü‚·BŒ»Ý‚Ì Plug-in Manifest Editor ‚Í“KØ‚È launch
configuration ‚𐶐¬‚·‚邽‚ß‚Ì•Ö—˜‚ÈŽè’i‚ð’ñ‹Ÿ‚µ‚Ä‚¢‚Ü‚·iOverview ƒ^ƒu‚ðŽQÆjB</P>
<P><IMG height=13 src="rcp_tutorial_ja1.files/tryit.gif" width=61> ‹N“®‚µ‚Ä‚Ý‚Ü‚µ‚傤</P>
<UL>
<LI>"Overview" ƒ^ƒu
<LI>"Launch an Eclipse application" ‚ðƒNƒŠƒbƒN </LI></UL>
<P>‚悤‚â‚­ RCP ƒAƒvƒŠƒP[ƒVƒ‡ƒ“iworkbenchj‚ª‹N“®‚µ‚Ü‚µ‚½B</P>
<BLOCKQUOTE>
<P><IMG height=220 src="rcp_tutorial_ja1.files/hello.gif"
width=294></P></BLOCKQUOTE>
<P>Eclipse ‚Í Šù‘¶‚Ì workbench ‚ðŠg’£‚µ‚½ view ‚â editor, perspective
‚Æ‚¢‚Á‚½‚à‚Ì‚©‚ç\¬‚³‚ê‚Ä‚¢‚Ü‚·Bˆê•ûAƒŠƒbƒ`ƒNƒ‰ƒCƒAƒ“ƒgƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍŽ©•ªŽ©g‚Ì workbench ‚ð‚à‚Á‚Ä‚¢‚Ü‚·B‚‚܂èA rcpdemo
‚É‚¨‚¢‚Ă͒ʏí workbench “à‚Å‹N“®‚·‚é view
‚È‚Ç‚ª‚Ü‚¾‚È‚É‚à’è‹`‚³‚ê‚Ä‚¢‚È‚¢‚±‚Æ‚É‚È‚è‚Ü‚·B‚»‚±‚ŁAƒŠƒbƒ`ƒNƒ‰ƒCƒAƒ“ƒgƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð‹N“®‚·‚邽‚߂ɁA•K—v‚È Plug-in ‚ð’è‹`‚µ‚½‚èAŠù‘¶‚Ì
workbench ‚ð’u‚«Š·‚¦‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚𠎦‚·•K—v‚ª‚ ‚è‚Ü‚·B</P>
<P>‚±‚±‚ŁAlaunch configuration ‚ðŒ©‚Ä‚Ý‚Ü‚µ‚傤B</P>
<UL>
<LI>Toolbar: Run&gt;Run... </LI></UL>
<BLOCKQUOTE>
<P><IMG height=437 src="rcp_tutorial_ja1.files/run1.gif"
width=468></P></BLOCKQUOTE>
<P>"Main" ƒ^ƒu‚ł́Aworkspace ƒf[ƒ^‚ÌŠi”[ƒfƒBƒŒƒNƒgƒŠ‚ðŽw’肵‚Ä‚¢‚Ü‚·B"Program to Run" ƒZƒNƒVƒ‡ƒ“‚Å‚Í
"rcpdemo.application"
‚ª‘I‘ð‚³‚ê‚Ä‚¢‚Ü‚·BŒã‚قǁAƒŠƒbƒ`ƒNƒ‰ƒCƒAƒ“ƒgƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª‚ǂ̂悤‚Ƀvƒƒ_ƒNƒg‚Æ‚µ‚Ä‹N“®‚·‚é‚©‚ðŒ©‚Ä‚¢‚«‚Ü‚·B</P>
<P>"Plug-ins" ƒ^ƒu‚Å‚Í•K—v‚È‚·‚×‚Ä‚Ì plug-in ‚ªƒŠƒXƒg‚³‚ê‚Ä‚¢‚Ü‚·B‚±‚ê‚́APlug-in Manifest Editor
‚Å•\Ž¦‚³‚ê‚Ä‚¢‚½’¼ÚˆË‘¶‚µ‚Ä‚¢‚é plug-in ‚̏î•ñ‚©‚çAlaunch configuration
‚É‚æ‚Á‚Ä‚·‚ׂĂ̒¼Ú“IAŠÔÚ“IˆË‘¶ŠÖŒW‚ª–Ô—…‚³‚ꂽ‚±‚Æ‚É‚È‚è‚Ü‚·B</P>
<P>"configuration" ƒ^ƒu‚ł͐ݒèî•ñ‚ÌŠi”[æ‚ðŽ¦‚µ‚Ä‚¢‚Ü‚·B‚»‚±‚É‚ ‚é "config.ini" ƒtƒ@ƒCƒ‹‚ðŒ©‚Ä‚Ý‚Ü‚µ‚傤B</P>
<P><IMG height=13 src="rcp_tutorial_ja1.files/tryit.gif" width=61> ŽŸ‚̂悤‚É‚µ‚Ä
Eclipse ‚Ì View ‚É•\Ž¦‚µ‚Ä‚Ý‚Ü‚µ‚傤B</P>
<UL>
<LI>Toolbar: File&gt;Open external file...
<LI>ŽQÆF"&lt;workspace-dir&gt;\.metadata\.plugins\org.eclipse.pde.core\Eclipse
Application\config.ini" </LI></UL>
<P>‚±‚̃tƒ@ƒCƒ‹‚́A"plug-ins" ƒ^ƒu‚ÉŒ»‚ê‚Ä‚¢‚½ plug-in ‚ðŠÜ‚ñ‚Å‚¢‚āA‚±‚̏î•ñ‚©‚琶¬‚³‚ê‚Ä‚¢‚Ü‚·BOSGi runtime
‚Í‚±‚̐ݒèƒtƒ@ƒCƒ‹‚ɏ‘‚©‚ꂽ plug-in ‚Ì“à—e‚ð“Ç‚ÝŽæ‚è‚Ü‚·B </P>
<P><IMG height=13 src="rcp_tutorial_ja1.files/tip.gif" width=62> OSGi ( <A
href="http://www.osgi.org/" target=_blank>Open Services Gateway Initiative </A>)
‚̓\ƒtƒgƒEƒFƒA‚ÌŠÇ—‚ð—eˆÕ‚É‚·‚邽‚ß‚ÌŽd‘g‚݂ŁAEclipse ‚Å‚Í plug-in ‚̒ljÁíœ‚È‚Ç‚ÌŠÇ—‚É—˜—p‚µ‚Ä‚¢‚Ü‚·B</P>
<P>&nbsp;</P>
<H2>RCP Application ‚ÌŠî–{—v‘f</H2>
<P>‚±‚±‚ŁArcpdemo ‚̃\[ƒXƒR[ƒh‚ðŒ©‚Ä‚Ý‚Ü‚µ‚傤BEclipse ã‚ł͈ȉº‚̍\¬‚É‚È‚Á‚Ä‚¢‚Ü‚·B</P>
<BLOCKQUOTE>
<P><IMG height=527 src="rcp_tutorial_ja1.files/explore1.gif"
width=393></P></BLOCKQUOTE>
<H3>RCPdemoPlugin</H3>
<P>ƒŠƒbƒ`ƒNƒ‰ƒCƒAƒ“ƒgƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Í Eclipse plug-in ‚̈êŽí‚Ȃ̂ŁAplug-in ƒNƒ‰ƒX‚ð•K—v‚Æ‚µ‚Ü‚·B‚±‚̃Nƒ‰ƒX‚Í plug-in
ƒCƒ“ƒXƒ^ƒ“ƒX‚ɃAƒNƒZƒX‚µ‚½‚èAƒŠƒ\[ƒXƒoƒ“ƒhƒ‹‚ðƒ[ƒh‚µ‚½‚肵‚Ü‚·B</P>
<H3>Application</H3>
<P>‚±‚ê‚Í bootstrap ƒNƒ‰ƒX‚Å‚·B‚±‚̃Nƒ‰ƒX‚̓ƒCƒ“ƒCƒxƒ“ƒgƒ‹[ƒv‚ðŽ‚Â workbench ‚𐶐¬‚µ‹N“®‚µ‚Ü‚·B </P>
<BLOCKQUOTE><PRE>public class Application implements IPlatformRunnable {
public Object run(Object args) throws Exception {
Display display = PlatformUI.createDisplay();
try {
int returnCode = PlatformUI.createAndRunWorkbench(display,
new ApplicationWorkbenchAdvisor());
if (returnCode == PlatformUI.RETURN_RESTART) {
return IPlatformRunnable.EXIT_RESTART;
}
return IPlatformRunnable.EXIT_OK;
} finally {
display.dispose();
}
}
}</PRE></BLOCKQUOTE>
<H3>Perspective</H3>
<P>workbench “à‚Ì UI ƒGƒŒƒƒ“ƒg‚ð\¬‚·‚邽‚ß‚É—˜—p‚µ‚Ü‚·B‚½‚¾‚µŒ»Ý‚Ì‚Æ‚±‚ëArcpdemo ‚͂ЂƂ‚à view
‚ðŽ‚Á‚Ä‚¢‚È‚¢‚½‚߁Aperspective ‚ɂ͉½‚à‚ ‚è‚Ü‚¹‚ñB</P>
<BLOCKQUOTE><PRE>public class Perspective implements IPerspectiveFactory {
public void createInitialLayout(IPageLayout layout) {
}
}
</PRE></BLOCKQUOTE>
<H3>ApplicaitonActionBarAdvisor</H3>
<P>action bar advisor ‚́Amenu ƒo[‚Ȃǂ̂悤‚É‚³‚Ü‚´‚Ü‚È action ‚ð—˜—p‚·‚邽‚ß‚Ì hook
iŠg’£ƒ|ƒCƒ“ƒgj‚ð’ñ‹Ÿ‚µ‚Ü‚·B‚±‚ê‚Í‚Ü‚½AƒXƒe[ƒ^ƒXƒ‰ƒCƒ“‚ðÝ’肵‚½‚èAƒAƒNƒVƒ‡ƒ“‚𐶐¬‚µ‚½‚肵‚Ü‚·B</P>
<BLOCKQUOTE><PRE>public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {<BR> super(configurer);
}
protected void makeActions(IWorkbenchWindow window) {
}
protected void fillMenuBar(IMenuManager menuBar) {
}
}
</PRE></BLOCKQUOTE>
<H3>ApplicationWorkbenchAdvisor</H3>
<P>workbench advisor ‚ÍŽ©•ªŽ©g‚̃‰ƒCƒtƒTƒCƒNƒ‹‚ÉŠÖ‚·‚é hook ‚ð’ñ‹Ÿ‚µ‚Ü‚·B‚à‚Á‚Æ‚àd—v‚È–ðŠ„‚Ì‚Ð‚Æ‚Â‚ª
<CODE>ApplicationWorkbenchWindowAdvisor</CODE> ‚ɑ΂µ‚Ä’ñ‹Ÿ‚³‚ê‚Ä‚¢‚Ü‚·B</P>
<BLOCKQUOTE><PRE>public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
private static final String PERSPECTIVE_ID = "rcpdemo.perspective";
public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
return new ApplicationWorkbenchWindowAdvisor(configurer);
}
public String getInitialWindowPerspectiveId() {
return PERSPECTIVE_ID;
}
}</PRE></BLOCKQUOTE>
<H3>ApplicaitonWorkbenchWindowAdvisor</H3>
<P>workbench window advisor ‚ÍŽ©•ªŽ©g‚̃‰ƒCƒtƒTƒCƒNƒ‹‚ÉŠÖ‚·‚é hook ‚ð’ñ‹Ÿ‚µ‚Ü‚·B—Ⴆ‚΁Awindow ‚ðƒI[ƒvƒ“‚·‚é‘O‚É
window ƒTƒCƒY‚ðÝ’è‚·‚éA‚È‚Ç‚Å‚·B‚±‚±‚ł́AƒEƒBƒ“ƒhƒEƒTƒCƒY‚ƃ^ƒCƒgƒ‹‚ªÝ’肳‚ê‚Ä‚¢‚Ü‚·B</P>
<BLOCKQUOTE><PRE>public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
super(configurer);
}
public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
return new ApplicationActionBarAdvisor(configurer);
}
public void preWindowOpen() {
IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
configurer.setInitialSize(new Point(400, 300));
configurer.setShowCoolBar(false);
configurer.setShowStatusLine(false);
configurer.setTitle("Hello RCP");
}
}</PRE></BLOCKQUOTE>
<P><IMG height=13 src="rcp_tutorial_ja1.files/tryit.gif" width=61> rcpdemo
applicaiton ‚Ì workbench window ‚̃TƒCƒY‚̕ύX‚ð‚µ‚Ä‚Ý‚Ü‚µ‚傤B</P>
<P>&nbsp;</P>
<H2>RCP-distribution ‚Ö‚Ì“WŠJ</H2>
<P>‚±‚±‚Ü‚Å‚Å rcpdemo ‚Ì‹N“®‚ƃ\[ƒXƒR[ƒh‚ÌŠT—v‚ð’­‚ß‚Ä‚«‚Ü‚µ‚½B‚µ‚©‚µA¡‚Ì‚Æ‚±‚ë‹N“®‚Å‚«‚½‚Æ‚¢‚Á‚Ä‚à‚ ‚­‚Ü‚Å Eclipse SDK
ã‚Å‹N“®‚µ‚½‚±‚Æ‚É‚È‚è‚Ü‚·BƒGƒ“ƒhƒ†[ƒU‚̓fƒXƒNƒgƒbƒvƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̂悤‚É‹N“®‚µ‚½‚¢‚ƍl‚¦‚Ä‚¢‚é‚Å‚µ‚傤B‚»‚Ì‚½‚߁AŠJ”­ŠÂ‹«‚Æ‚µ‚Ä‚Ì Eclipse
‚©‚çƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð export ‚µ‚āARCP distribution ã‚É“WŠJ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·iRCP SDK ‚Í plug-in
‚̃\[ƒXƒR[ƒh‚àŠÜ‚ñ‚Å‚¢‚Ü‚·‚ªARCP destribution ‚̓\[ƒXƒR[ƒh‚ðŠÜ‚Ü‚È‚¢Å¬ŒÀ‚Ì plug-in ‚̃Zƒbƒg‚݂̂ō\¬‚³‚ê‚Ä‚¢‚Ü‚·jB </P>
<H3>Export Wizard</H3>
<P><IMG height=13 src="rcp_tutorial_ja1.files/tryit.gif" width=61> “WŠJ‚µ‚Ä‚Ý‚Ü‚µ‚傤</P>
<UL>
<LI>rcpdemo ‚ðŠi”[‚·‚邽‚ß‚Ì”CˆÓ‚̃fƒBƒŒƒNƒgƒŠ &lt;rcpdemo-dir&gt; ‚ðì¬
<LI>RCP destribution ‚ðã‹LƒfƒBƒŒƒNƒgƒŠ‚É“WŠJ
<LI>rcpdemo Plug-in Manifest Editor ‚Ì "overview" ƒ^ƒu
<LI>"Export Wizard" ‚ðƒNƒŠƒbƒN
<LI>Export Destination ‚Ì "Directory" ‚ð‘I‘ð
<LI>o—͐æƒfƒBƒŒƒNƒgƒŠ‚ð "&lt;rcpdemo-dir&gt;\eclipse" ‚ɐݒè
<LI>Finish </LI></UL>
<P>ã‹L‚É‚æ‚Á‚Ä "eclipse" ƒfƒBƒŒƒNƒgƒŠ‚Í RCP ‚ðŠÜ‚ñ‚Å‚¢‚Ü‚·Brcpdemo ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì
<STRONG><CODE>eclipse.exe</CODE></STRONG> ‚ªŒ©‚‚©‚é‚Í‚¸‚Å‚·B‚±‚ê‚ðŽÀs‚µ‚Ä‚Ý‚Ü‚µ‚傤B</P>
<UL>
<LI><STRONG><CODE>eclipse.exe</CODE></STRONG> ‚ðŽÀsiƒ_ƒuƒ‹ƒNƒŠƒbƒNj </LI></UL>
<P>ƒGƒ‰[‚ð•\Ž¦‚·‚éƒ_ƒCƒAƒƒO‚ª•\Ž¦‚³‚ê‚é‚ÆŽv‚¢‚Ü‚·B</P>
<BLOCKQUOTE>
<P><IMG height=113 src="rcp_tutorial_ja1.files/error1.gif"
width=444></P></BLOCKQUOTE>
<P>application ID ‚ªŒ©‚‚©‚è‚Ü‚¹‚ñA‚Æ‚¢‚¤ƒGƒ‰[‚Å‚·BRCP distribution
‚Í’P‚È‚éƒvƒ‰ƒbƒgƒtƒH[ƒ€‚Ȃ̂ŁA‚·‚Å‚É’è‹`‚³‚ꂽƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̏î•ñ‚âAƒAƒvƒŠƒP[ƒVƒ‡ƒ“ ID ‚Æ‚¢‚Á‚½‚à‚Ì‚ðŽ‚Á‚Ä‚¢‚È‚¢‚Ì‚Å‚·B</P>
<P>‚Å‚ÍŽŸ‚̂悤‚ɃRƒ}ƒ“ƒhƒ‰ƒCƒ“‚©‚ç‚ðŽÀs‚µ‚Ä‚Ý‚Ü‚µ‚傤B</P>
<BLOCKQUOTE><PRE class=cmd>eclipse -application rcpdemo.application
</PRE></BLOCKQUOTE>
<P>‚»‚ê‚Å‚à‚Ü‚¾ƒGƒ‰[‚ªo‚Ä‚¢‚é‚ÆŽv‚¢‚Ü‚·B¡“x‚̓Rƒ}ƒ“ƒhƒ‰ƒCƒ“‚©‚ç—^‚¦‚½ ID ‚ªŒ©‚‚©‚ç‚È‚¢‚Æ‚¢‚¤ƒGƒ‰[‚Å‚·B‚±‚ê‚͂‚܂èArcpdemo ‚Í
Eclipse ‚Ì runtime Žž‚É‚ÍŒ©‚‚©‚ç‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚·BŽÀÛAruntime Žž‚É plug-in ‚ðŒ©‚Â‚¯‚邱‚Æ‚Í‚Å‚«‚È‚¢‚Ì‚Å‚·B‚æ‚Á‚āA“KØ‚È
plug-in ‚̃ŠƒXƒg‚ð“Á’肵‚Ä‚ ‚°‚È‚¯‚ê‚΂Ȃç‚È‚¢‚Ì‚Å‚·B</P>
<H3>config.ini ‚Å Eclipse runtime ‚ðÝ’è</H3>
<P>ƒGƒ‰[ƒƒO‚É‚ ‚é‚悤‚ɁAconfig.ini ‚Í &lt;rcpdemo-dir&gt;\eclipse\configuration
ƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚Á‚āAOSGi runtime ‚Í‚±‚̃tƒ@ƒCƒ‹‚ð“Ç‚ñ‚Å‚¢‚Ü‚·B‚æ‚Á‚Ä‚±‚̃tƒ@ƒCƒ‹‚É“KØ‚È plug-in ‚̐ݒè‚ð‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B</P>
<BLOCKQUOTE><PRE>osgi.bundles=org.eclipse.core.runtime@2:start, org.eclipse.core.commands,<BR>org.eclipse.core.expressions, org.eclipse.help, org.eclipse.jface,<BR>org.eclipse.osgi, org.eclipse.swt.win32, org.eclipse.swt,<BR>org.eclipse.ui.workbench, org.eclipse.ui, rcpdemo
</PRE></BLOCKQUOTE>
<P><IMG height=13 src="rcp_tutorial_ja1.files/note.gif" width=62>
ã‹L‚ÍŽÀÛ‚É‚Í1s‚Å‹Lq‚µ‚Ü‚·B</P>
<P>‹N“®Žž‚É–ˆ‰ñƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŽw’肵‚È‚¢‚悤‚É‚·‚邽‚߂ɂ́Aconfig.ini ‚Ɉȉº‚̐ݒè‚ð‰Á‚¦‚Ü‚·B </P>
<BLOCKQUOTE><PRE>eclipse.application=rcpdemo.application</PRE></BLOCKQUOTE>
<UL>
<LI>ƒpƒ‰ƒ[ƒ^‚È‚µ‚ŃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð‹N“®ieclipse.exe ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒNj </LI></UL>
<P>‚à‚µA‚Ü‚¾‚¤‚Ü‚­‹N“®‚Å‚«‚È‚¢‚悤‚Å‚µ‚½‚çAconfiguration ƒfƒBƒŒƒNƒgƒŠ‚Ì config.ini
ˆÈŠO‚̃tƒ@ƒCƒ‹‚ðÁ‚µ‚Ä‚Ý‚Ü‚µ‚傤Bconfiguration ‚̏î•ñ‚Í‹N“®‚ð‚‘¬‰»‚·‚邽‚߂ɃLƒƒƒbƒVƒ…‚³‚ê‚Ä‚¢‚é‚©‚ç‚Å‚·B </P>
<P><IMG height=13 src="rcp_tutorial_ja1.files/tryit.gif" width=61> "RCP
application with a view" ‚̃eƒ“ƒvƒŒ[ƒg‚ðŽg‚Á‚Ä RCP ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ rcpview
‚ðì¬‚µ‚āAƒR[ƒh‚ð’­‚ß‚Ä‚Ý‚Ü‚µ‚傤B‚±‚ê‚ðŽQl‚ɁArcpdemo ‚É "File" ƒƒjƒ…[‚ð’ljÁ‚µ‚āA"Exit" ‚Å‚«‚é‚悤‚É Action
‚ð’ljÁ‚µ‚Ä‚Ý‚Ü‚µ‚傤B </P>
<P>&nbsp;</P>
<P>‚¢‚©‚ª‚Å‚µ‚½‚©HPart 1 ‚Í‚±‚ê‚ɂďI—¹‚Å‚·B‚¨”æ‚ê—l‚Å‚µ‚½B</P>
<P>&nbsp;</P>
<H2>ƒ\[ƒXƒR[ƒh</H2>
<P>‚±‚̃`ƒ…[ƒgƒŠƒAƒ‹‚ō쐬‚·‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì zip ƒtƒ@ƒCƒ‹‚́AŒ´–{ƒTƒCƒg‚Ì<A
href="http://www.eclipseteam.de/wiki/pub/Public/RCPTutorial/rcptutorial.zip">‚±‚¿‚ç</A>‚©‚çŽæ“¾‚Å‚«‚Ü‚·B</P>
<P>&nbsp;</P>
<H2>‚¨‚í‚è‚É</H2>
<P>¡‰ñ‚Í Eclipse RCP ‚É•t‘®‚̃eƒ“ƒvƒŒ[ƒg‚ðŽg—p‚µ‚½ RCP ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÌŠJ”­‚ðƒXƒeƒbƒv‚𓥂ñ‚Å’Ç‚Á‚Ä‚Ý‚Ü‚µ‚½BŠî–{“I‚É Wizard
Œ`Ž®‚ðÅ‘åŒÀ‚É—˜—p‚µ‚Ü‚µ‚½‚ªA“r’†‚ ‚é‚悤‚ɁARCP ‚Æ‚¢‚Á‚Ä‚àŠî–{‚Í Eclipse Plug-in
‚È‚Ì‚Å‚»‚ÌŽd‘g‚Ý‚ð‚«‚¿‚ñ‚Æ—‰ð‚·‚邱‚Æ‚Í‚Æ‚Ä‚àd—v‚É‚È‚è‚Ü‚·B</P>
<P><A
href="rcp_tutorial_ja2.html">Part 2</A> ‚ł́A‚³‚ç‚ɕʂ̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ð—˜—p‚µ‚āAƒwƒ‹ƒv‚̒ljÁ‚âXVƒ}ƒl[ƒWƒƒ‚Ì—˜—p‚Æ‚¢‚Á‚½•”•ª‚܂Ői‚ñ‚Å‚¢‚«‚Ü‚·B</P>
<P>&nbsp;</P>
<H2>References</H2>
<UL>
<LI>RCP Tutorial: Part1, <A
href="rcp_tutorial_ja2.html">Part 2</A> ,
<LI><A href="http://www.eclipsecon.org/2005/index.php"
target=_blank>EclipseCon 2005</A> <A
href="http://www.eclipsecon.org/2005/event.php?id=15" target=_blank>Tutorial
08: Developing Eclipse Rich Client Applications</A>
<LI><A href="http://www.eclipseteam.de/" target=_blank>EclipseStream</A>
<LI><A href="http://www.eclipse.org/rcp/" target=_blank>Eclipse Rich Client
Platform </A>
<LI><A href="http://www.eclipsecon.org/2005/index.php"
target=_blank>EclipseCon 2005</A>, <A
href="http://www.eclipsecon.org/2005/themes.php?track=1" target=_blank>RCP
Tracks</A>
<LI>Rich Client Platform Tutorial, by Ed Burnette. <A
href="http://eclipse.org/articles/Article-RCP-1/tutorial1.html"
target=_blank>Part 1</A>, <A
href="http://eclipse.org/articles/Article-RCP-2/tutorial2.html"
target=_blank>Part 2</A>, <A
href="http://eclipse.org/articles/Article-RCP-3/tutorial3.html"
target=_blank>Part 3</A> </LI></UL>
<BLOCKQUOTE>
<P><IMG height=131 src="rcp_tutorial_ja1.files/hyatt.jpg" width=197>
EclipseCon 2005, Hyatt Regency </P></BLOCKQUOTE>
<P>&nbsp;</P>
<P><SMALL>Java‚¨‚æ‚Ñ‚»‚Ì‘¼‚ÌJava‚ðŠÜ‚ޏ¤•W‚́A•Ä‘ Sun Microsystems, Inc. ‚̏¤•W‚Å‚ ‚èA“¯ŽÐ‚ÌJavaƒuƒ‰ƒ“ƒh‚ðŽg—p‚µ‚½‹Zp‚ðŽg—p‚µ‚½»•i‚ðŽw‚µ‚Ü‚·B<BR>
Windows‚́A•Ä‘Microsoft Corporation‚̕č‘‚¨‚æ‚с@‚»‚Ì‘¼‚̍‘‚É‚¨‚¯‚é“o˜^¤•W‚Å‚·B<BR>
Windows ‚̐³Ž®–¼Ì‚́A@Microsoft(R) Windows(R) Operating System ‚Å‚·B<BR>
‹LÚ‚³‚ê‚Ä‚¢‚鐻•i–¼A‰ïŽÐ–¼‚́A‚»‚ꂼ‚ê‚̉ïŽÐ‚́@“o˜^¤•W‚Ü‚½‚͏¤•W‚Å‚·B</SMALL></P>
<P>@</P>
<P><SMALL><BR>
</SMALL></P>
</BODY></HTML>