??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲高清在线视频,亚洲午夜精品久久久久久app,日本亚洲高清乱码中文在线观看http://m.tkk7.com/cnjmgs/category/18798.htmlJava, Me, and Games.zh-cnThu, 01 Mar 2007 18:26:10 GMTThu, 01 Mar 2007 18:26:10 GMT60Being a better Programmerhttp://m.tkk7.com/cnjmgs/archive/2007/01/10/92818.htmlNile BlackNile BlackWed, 10 Jan 2007 01:47:00 GMThttp://m.tkk7.com/cnjmgs/archive/2007/01/10/92818.htmlhttp://m.tkk7.com/cnjmgs/comments/92818.htmlhttp://m.tkk7.com/cnjmgs/archive/2007/01/10/92818.html#Feedback0http://m.tkk7.com/cnjmgs/comments/commentRss/92818.htmlhttp://m.tkk7.com/cnjmgs/services/trackbacks/92818.html

Being a better programmer means being able to design more effective and trustworthy programs and knowing how to do that efficiently.

做更好的E序员意味着能够设计更高效的、可靠的E序Q和知道如何高效的实现这一目标?/p>

看到q句话有Ҏ思,effictive,trustworthy,是E序所要追求的目标?/p>

Nile Black 2007-01-10 09:47 发表评论
]]>
用GWT(Google Web Toolkit)开发Ajax-囄览http://m.tkk7.com/cnjmgs/archive/2007/01/06/92143.htmlNile BlackNile BlackFri, 05 Jan 2007 19:29:00 GMThttp://m.tkk7.com/cnjmgs/archive/2007/01/06/92143.htmlhttp://m.tkk7.com/cnjmgs/comments/92143.htmlhttp://m.tkk7.com/cnjmgs/archive/2007/01/06/92143.html#Feedback0http://m.tkk7.com/cnjmgs/comments/commentRss/92143.htmlhttp://m.tkk7.com/cnjmgs/services/trackbacks/92143.html用GWT(Google Web Toolkit)开发Ajax-囄览
摘要 从本文开始我们开始一个有点实际意义的应用Q图片浏览器Q初步我们只实现单的框架来实现图片浏览的基本功能Q然后再l箋深化Q做出更好的界面Q和更多的管理功能?/td>
关键?/td> Google Web Toolkit GWT Ajax 囄览

单设?/h3> 设想一下简单的界面效果Q和已经实现q个效果需要的提供的数据服务?br/>打开d版,单的M下界面?br/>
囄览
界面说明
  • 最上一个横向的标题?/li>
  • 中间左边一个是的预览囄列表
  • 中间双是图片浏览主H口
  • 最底部有一个简单的版权之类的说?/li>
数据服务
  • 一保存囄信息的数据结?/li>
  • 一个能获取指定要求的图片的集合的服?/li>

实现q程

创徏界面
面构成Q参看已l设计的界面Q从外往内一个一个结构,把界面分成上中下三个面板Q其中第二块分割成左右两个面ѝ这样不隑־到这Ll果Q在onModuleLoadҎ中添加实C下功能的代码:
VerticalPanel mainPanel;//主面?br/>HorizontalPanel topPart;//端部分
HorizontalPanel centerPart;//中间部分
HorizontalPanel bottomPart;//底端部分
HorizontalPanel imagesPart;//囄列表
HorizontalPanel previewPart;//囄预览
//按照以下安装q程l装
mainPanel.add(topPart);
mainPanel.add(centerPart);
mainPanel.add(bottomPart);
centerPart.add(imagesPart);
centerPart.add(previewPart);
注意可能我们的图片会很多,希望不会把页面撑得很长很?GWT提供了不q的ScrollPanelQ只要把 centerPart.add(imagesPart);修改?em>centerPart.add(new ScrollPanel(imagesPart));可以了?br/>同样囄也可能会很大Q也一样在previewPart上添加一个滚动面ѝ?br/>

囄服务实现

  1. 一个保存图片数据的数据l构Q简单点Q创Z个org.jmg.client.ImageData implements IsSerializableQ这个类中只有两个属性,title,urlQ这两个属性已l很好的表明他们的用途了Q不再细说。至于getter, setter,我只提供了get,初始化用构造函C参,你也可以Ҏ自己习惯修改。个人原则,能不提供的方法尽量不提供。需要注意一点很重要Q这个类一定要实现com.google.gwt.user.client.rpc.IsSerializableq个标志接口Q这个会在编译的时候生成相应的 javascript的对象,用户在客Lq行?br/>
  2. 创徏服务,在client包中写ImageServiceAsyncQImageService,q两个接口,在server中实?ImageServiceImpl implements ImageService。ImageServiceImplQ所需提供的方法就是获取图片列表,q回一个ImageData数组或是集合c,都可以,我这里选择了数l?br/>

d客户端事?/strong>
有了界面Q有了服务,可以把q两个东西组装在一起了。我们需要两个事件处理,W一个是在客L刚刚打开的时候,?创徏界面"节中我们已l在 onModuleLoadd了界面大致框架的初始化,现在我们要调用服务,q且把获取到的数据,构造成 com.google.gwt.user.client.ui.Image对象Q添加到imagesPart中,代码大致如下Q?/p>

async.getImageData(new AsyncCallback() {
public void onFailure(Throwable caught) {
}
public void onSuccess(Object result) {
ImageData[] images = (ImageData[]) result;
for (int i = 0; i < images.length; i++) {
Image image = new Image(images[i].getUrl());//Ҏurl构造image对象
image.setPixelSize(120, 120);//限制预览囄的大?
imagesPart.add(image);//d到imagesPart?br/> }
}
});
到这里你~译部v的时候就已经可以看到大致的运行效果了。左Ҏ一个小囄的列表,双是一块空白的区域?br/>到现在剩下的事情是需要在图上添加一个鼠标事Ӟ在鼠标移上去的时候,双昄大图?br/>q个q程也很单,像写swingE序一P只要在上边的Image对象构造好的时候添加一个mouseListener可以了:
image.addMouseListener(new MouseListenerAdapter() {
public void onMouseEnter(Widget sender) {
sender.addStyleName("selected");
previewPart.clear();
Image img = new Image(((Image)sender).getUrl());
//注意q里的Image需要创Z个,而不是sender强换型,
//最初的时候我是Z节省一个对象,强换型了一ơ,
//至于效果你可以自己动手改改试试看
img.addStyleName("big");
previewPart.add(img);
}
public void onMouseLeave(Widget sender) {
sender.removeStyleName("selected");
}
});

q行部v 到这里我们的囄览器就基本完成了,至于样式表之cȝ东西׃在这里说了。不说不是表CZ重要QGWT推荐所有东襉K用样式表来控Ӟ而是很重要。这里我截了一个简单的图,仅作q行效果:

q行图例

源码下蝲:imageviewer_src.rar
q用下蝲:imageviewer.rar


参?/td>
更多文章


Nile Black 2007-01-06 03:29 发表评论
]]>
J2Me 的属性文?/title><link>http://m.tkk7.com/cnjmgs/archive/2007/01/06/92142.html</link><dc:creator>Nile Black</dc:creator><author>Nile Black</author><pubDate>Fri, 05 Jan 2007 19:27:00 GMT</pubDate><guid>http://m.tkk7.com/cnjmgs/archive/2007/01/06/92142.html</guid><wfw:comment>http://m.tkk7.com/cnjmgs/comments/92142.html</wfw:comment><comments>http://m.tkk7.com/cnjmgs/archive/2007/01/06/92142.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/cnjmgs/comments/commentRss/92142.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/cnjmgs/services/trackbacks/92142.html</trackback:ping><description><![CDATA[ <p>通常一个MIDletE序有两个运行时属性,pȝ的和E序?system and application)。这些属性都只能dQ不能修攏V?/p> <p>pȝ属?/p> <blockquote style="MARGIN-RIGHT: 0px" dir="ltr"> <p>pȝ的属性一般是p备定义的。在各个jsr标准中定义了一些系l属性的键?key)?a href="#1">?</a>的表格就列出了当前的一些已l定义的pȝ属性名?/p> <p>dҎQSystem.getProperty() Q这是一个静态方?/p> </blockquote> <p dir="ltr">E序属?/p> <blockquote style="MARGIN-RIGHT: 0px" dir="ltr"> <p dir="ltr">E序属性是在程序的描述文g中和jar包的manifest文g中定义?a href="#2">?</a>中就是一个典型的描述文g。假如同L属性在描述文g中和manifest文g中都被定义了Q冲H会q样被处理:假如MIDlet是一个MIDP2.0的可信Q的程?pȝ会直接拒l安装程序。否则,E序描述文g中定义的g覆盖manifest中定义的属性?If the MIDlet is a trusted application based on MIDP 2.0, the system simply won't install the application. Otherwise, the value in the descriptor overrides the value in the manifest.)</p> <p dir="ltr">dҎQ?span style="FONT-FAMILY: Courier New">MIDlet.getAppProperty()</span>Q这是一个实例方?/p> <p dir="ltr">注意Q?、这些属性的名称是区分大写的?、假如获取一个没有定义过的名Uͼ会返回一个null倹{?、不要定义太多的属性,有些讑֤上的描述大小是有限制的?/p> </blockquote> <p>原文参看Q?a >http://developers.sun.com/techtopics/mobility/midp/ttips/appproperty/index.html</a></p> <p><strong><a name="1">?Q?/a><br/>J2ME Defined System Properties</strong></p> <table bordercolor="#AAAAAA" width="500" cellspacing="0" border="1" cellpadding="4"> <tbody> <tr> <th align="left">JSR</th> <th align="left">Property Name<br/></th> <th align="left">Default Value¹</th> </tr> <tr> <td>30</td> <td>microedition.platform</td> <td>null</td> </tr> <tr> <td/> <td>microedition.encoding</td> <td>ISO8859_1</td> </tr> <tr> <td/> <td>microedition.configuration</td> <td>CLDC-1.0</td> </tr> <tr> <td/> <td>microedition.profiles</td> <td>null</td> </tr> <tr> <td>37</td> <td>microedition.locale</td> <td>null</td> </tr> <tr> <td/> <td>microedition.profiles</td> <td>MIDP-1.0</td> </tr> <tr> <td>75</td> <td>microedition.io.file.FileConnection.version</td> <td>1.0</td> </tr> <tr> <td/> <td>file.separator</td> <td>(impl-dep)</td> </tr> <tr> <td/> <td>microedition.pim.version</td> <td>1.0</td> </tr> <tr> <td>118</td> <td>microedition.locale</td> <td>null</td> </tr> <tr> <td/> <td>microedition.profiles</td> <td>MIDP-2.0</td> </tr> <tr> <td/> <td>microedition.commports</td> <td>(impl-dep)</td> </tr> <tr> <td/> <td>microedition.hostname</td> <td>(impl-dep)</td> </tr> <tr> <td>120</td> <td>wireless.messaging.sms.smsc</td> <td>(impl-dep)</td> </tr> <tr> <td>139</td> <td>microedition.platform</td> <td>(impl-dep)</td> </tr> <tr> <td/> <td>microedition.encoding</td> <td>ISO8859-1</td> </tr> <tr> <td/> <td>microedition.configuration</td> <td>CLDC-1.1</td> </tr> <tr> <td/> <td>microedition.profiles</td> <td>(impl-dep)</td> </tr> <tr> <td>177</td> <td>microedition.smartcardslots</td> <td>(impl-dep)</td> </tr> <tr> <td>179</td> <td>microedition.location.version</td> <td>1.0</td> </tr> <tr> <td>180</td> <td>microedition.sip.version</td> <td>1.0</td> </tr> <tr> <td>184</td> <td>microedition.m3g.version</td> <td>1.0</td> </tr> <tr> <td>185</td> <td>microedition.jtwi.version</td> <td>1.0</td> </tr> <tr> <td>195</td> <td>microedition.locale</td> <td>(impl-dep)</td> </tr> <tr> <td/> <td>microedition.profiles</td> <td>IMP-1.0</td> </tr> <tr> <td>205</td> <td>wireless.messaging.sms.smsc</td> <td>(impl-dep)</td> </tr> <tr> <td>205</td> <td>wireless.messaging.mms.mmsc</td> <td>(impl-dep)</td> </tr> <tr> <td>211</td> <td>CHAPI-Version</td> <td>1.0</td> </tr> </tbody> </table> <p><strong><a name="2">?</a></strong><br/>MIDlet-1: HttpWrapperMidlet,,httpwrapper.HttpWrapperMIDlet<br/>MIDlet-Jar-Size: 16315<br/>MIDlet-Jar-URL: HttpWrapper.jar<br/>MIDlet-Name: HttpWrapper<br/>MIDlet-Vendor: Vendor<br/>MIDlet-Version: 1.0<br/>MicroEdition-Configuration: CLDC-1.0<br/>MicroEdition-Profile: MIDP-1.0<br/>Which-Locale: en<br/><br/></p> <img src ="http://m.tkk7.com/cnjmgs/aggbug/92142.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/cnjmgs/" target="_blank">Nile Black</a> 2007-01-06 03:27 <a href="http://m.tkk7.com/cnjmgs/archive/2007/01/06/92142.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GWT里面的CSS样式?/title><link>http://m.tkk7.com/cnjmgs/archive/2007/01/06/92141.html</link><dc:creator>Nile Black</dc:creator><author>Nile Black</author><pubDate>Fri, 05 Jan 2007 19:00:00 GMT</pubDate><guid>http://m.tkk7.com/cnjmgs/archive/2007/01/06/92141.html</guid><wfw:comment>http://m.tkk7.com/cnjmgs/comments/92141.html</wfw:comment><comments>http://m.tkk7.com/cnjmgs/archive/2007/01/06/92141.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/cnjmgs/comments/commentRss/92141.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/cnjmgs/services/trackbacks/92141.html</trackback:ping><description><![CDATA[ <p>在GWT的文里_大致上CSS的命名规则是q样?[project]-[widget]Q比如gwt-ButtonQ你可以在CSS里定义如下:<br />.gwt-Button{font-size:150%;}<br />但是q样的说明是不充分的Q所以这里有必要把他真正的样式表来列一下,以供查看?/p> <p> <strong>AbsolutePanel<br /></strong> 用一个DIV来实玎ͼ默认的设|了overflow:hidden。这个DIV里边的内容可以用一个x,y坐标来确定位|?br /><code><div style="overflow: hidden;"></div></code></p> <p> <code> <strong>Botton<br /></strong> 是一个正常的HTML的Button.默认的样式名字是gwt-Button.<br /><button class="gwt-Button"/></code> </p> <p> <code> <strong>CellPanel</strong> <br />用一个table来实玎ͼ没有默认的样式,可以讄border,cell-spacing属性?br /><table></table></code> </p> <p> <code> <strong>CheckBox</strong> <br />是正常的Html的CheckBoxQ默认的样式名字为gwt-CheckBoxQ会自动生成一个不重复的idQcheckN(N是一个整?Q可以用checked,defaultChecked,disabled{属性。默认样式是I的?br /><checkbox class="gwt-CheckBox"></code> </p> <p> <code> <strong>DeckPanel</strong> <br />用一个DIV来实玎ͼ包含了一pd的子对象。每一个对象可以用单独的display属性来讄是否昄。这个有点像Swing里面的CardLayout的方式有点像Q添加了一pd的组Ӟ但是只能昄一个?br /></code> <div style="width: 100%; height: 100%"></div></p> <p style="margin-right: 0px;" dir="ltr"> <code> <strong>DialogBox</strong> <br />~省的样式有gwt-DialogBoxQCaption两个都是相关。用一个DIV来实玎ͼ标题Caption也是一个DIV?br /><div class="gwt-DialogBox"><br /> <table cell-spacin="0" cell-padding="0"><br />  <tbody><br />   <tr><td><div class="Caption">Caption</div></td></tr><br />   <tr><td>Content</td></tr><br />  </tbody><br /> </table><br /></div></code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <strong>DockPanel</strong> <br />用一个Table来实玎ͼcell-spacin,cell-padding都默认ؓ0Qؓ了实现DockPanel里边的tr,td比较ȝ一些?br /><table cell-spacing="0" cell-padding="0"><br /> <tbody></tbody><br /></table></code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <strong>FlexTable</strong> <br />只是一个简单的TableQ没什么特别的东西?br /><table><br /> <tbody></tbody><br /></table></code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <strong>FlowPanel</strong> <br />用一个DIV来实玎ͼ讑֮里display属性ؓinline?br /><div style="display:inline;">content</div></code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <strong>FocusPanel<br /></strong> 只是一个DIVQ重要的是它声明了focusevents,keyevents,onclick和mouseeventsQ对对于那些没有声明的这些事?子组?很有用处?br /><div>content<div></code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <strong>FocusWidget</strong> <br />可以是Q何组Ӟ只是它可以帮助捕获Focusevents,keyevents?/code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <strong>Frame</strong> <br />是一个IFrame,他的默认的样式是gwt-Frame<br /><iframe></iframe></code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <strong>Grid</strong> <br />是一个Table<br /><table><tbody></tbody></table></code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <strong>HTML</strong> <br />一个DIVQ默认的样式是gwt-HTMLQ可以设定属性white-space为normal,nowrap?/code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <strong>HTMLPanel</strong> <br />是一个DIVQ可以容UHTML或是其他lgQ不适用gwt-HTML样式。最有用的属性就是createUniqueIdQ可以设定一个id,HTMLPanel_N。和前面的CheckBox的checkN,相比Q这里用大写字母和下划线。看h多少有点怪异?br /><div>content</div></code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <strong>HTMLTable</strong> <br />没有疑问Q这是用一个Table实现的,重要的是Q它是Grid,FlexTable的父cR提供了讑֮每行或是每一个单元格的样式设定的Ҏ。表g没有thead。假如要讑֮表头的话Q可能通过讑֮W一行的样式来区别?br /><table><tbody></tbody></table><br />table.getRowFormtter(0).setStyleName("style");</code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <strong>HorizontalPanel<br /></strong> 水^排列的面板,用一个只有一行的表格实现?br /></code> <table cell-spacing="0" cell-padding="0"><br /> <tbody><br />  <tr><br />   <td style="display: static; vertical-align: top;" align="left">Item 1</td><br />   <td style="display: static; vertical-align: top;" align="left">Item 2</td><br />  </tr><br /> </tbody><br /></table></p> <p style="margin-right: 0px;" dir="ltr"> <code> <code> <strong>HyperLink</strong> <br />一个有定义了锚点的DIVQ默认的样式名:gwt-HyperLink<br /><div></div></code> </code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <code> <strong>Image</strong> <br />没有问题Q肯定是IMG.gwt-Image样式没有实现?br /><img src="..."/></code> </code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <code> <strong>Label</strong> <br />一个DIVQ默认的样式是gwt-Label。Label不能解析HTML内容Q假如你惌的话Q可以用HTML来代替,两者都提供鼠标事g。Label会自动换行,但是你也可以通过setWordWrap来修攏V?br /><div class="gwt-Label">content</div></code> </code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <code> <strong>ListBox</strong> <br /> </code> </code> <code>是用Select和Option来实现。gwt-ListBox样式没有被实现。可以设定selected,size,multples{属性?/code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <strong>MenuBar</strong> <br />用一个包含表格的DIV实现。一个水q的菜单Q只有一行,用单元格来设|菜单项Q一个垂直的菜单Q用行来区分菜单Vgwt-MenuBar只是讑֮外层的DIV的样式?br /></code> <div class="gwt-MenuBar"><br /> <table><br />  <tbody> <!-- example of a horizontal menu --><br />   <tr><br />    <td class="gwt-MenuItem">text or html</td><br />    <td class="gwt-MenuItem">text or html</td><br />   </tr><br />   <!--一个垂直菜单的例子<br />   <tr><td class="gwt-MenuItem">text or html</td></tr><br />   <tr><td class="gwt-MenuItem">text or html</td></tr><br />   --><br />  </tbody><br /> </table><br /></div></p> <p style="margin-right: 0px;" dir="ltr"> <code> <code> <strong>MenuItem</strong> <br />一个菜单项是在菜单条中的一个单元格。它的默认属性是gwt-MenuItem.选中的时候有一个附加的属性,gwt-MenuItem-selected.在菜单项默认的样式class="gwt-MenuItem",在选中的时候就改变成class="gwt-MenuItem gwt-MenuItem-selected".</code> </code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <code> <strong>PasswordTextBox</strong> <br />用Password实现Q用gwt-PasswordTextBox样式?/code> </code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <code> <strong>PopupPanel</strong> <br />只是一个DIV.</code> </code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <code> <strong>RadioButton</strong> <br />用一个INPUT实现Q用gwt-RadioButton样式?/code> </code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <code> <strong>RootPanel</strong> <br /> </code> </code> <code>一个RootPanel可以附加CQ何的lg上,但是以前属于q个lg的所有的内容都会被清除。假如你仔细xQ你会发现除了初始化之外Q这个组件还有很多用处?/code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <strong>ScrollPanel<br /></strong> 一个Div讑֮了overflow属性ؓscroll 或auto.<br /></code> <div style="overflow: auto;"><br /> content<br /></div></p> <p style="margin-right: 0px;" dir="ltr"> <code> <code> <strong>SimplePanel</strong> <br />是一个Div.</code> </code> </p> <p style="margin-right: 0px;" dir="ltr"> <code> <strong>StackPanel</strong> <br />用一个表格来实现Q每一个组用两行来保存Q第一行放了标{,W二行放了内宏V默认的q个表格使用gwt-StackPanel样式Q标{行用了gwt-StackPanelItem和gwt-StackPanelItem-selected.当一个标{被选中的时候,它的样式q原来的gwt-StackPanelItem替换成ؓgwt-StackPanelItem-seleted.<br /></code> <table class="gwt-StackPanel" cell-spacing="0" cell-padding="0"><br /> <tbody><br />  <tr><br />   <td class="gwt-StackPanelItem" height="1px">text/html</td><br />  </tr><br />  <tr><br />   <td height="100%" valign="top"><br />    content -- a widget<br />   </td><br />  </tr><br /> </tbody><br /></table></p> <p style="margin-right: 0px;" dir="ltr"> <code> <code> <strong>TabBar</strong> <br />TabBar使用一个HorizontalPanel来实玎ͼ所以它也是一个Table,表格的样式是gwt-TabBar。对于第一个标{,通常是一个空的,它的样式是gwt-TabBarFirst,是Z装饰,最后也会加上一个空的标{,指定样式为gwt-TabBarRest。当一个标{被选中的时候,gwt-TabBarItem-selected的样式会附加到样式中Q这点和MenuItem是一L?br /></code> <table class="gwt-TabBar" cell-spacing="0" cell-padding="0"><br /> <tbody><br />  <tr><br />   <td class="gwt-TabBarFirst" style="height: 100%;"><div class="gwt-HTML" style="height: 100%;">&amp;nbsp;</div></td><br />   <td>Tab #1</td><br />   <td>Tab #2</td><br />   <td class="gwt-TabBarRest" style="width: 100%;"><div class="gwt-HTML" style="height: 100%;">&amp;nbsp;</div></td><br />  </tr><br /> </tbody><br /></table></code> </p> <p> <code> <strong>TabPanel</strong> <br />用一个VerticalPanel来实玎ͼ包含了一个TabBar和一个DeckPanelQ这样就嵌套几层表格Q样式gwt-TabPanel用到最外层表格。gwt-TabBar用到TabBar,gwt-TabPanelBottom用到DeckPanel的DIV上了。需要注意的是TabBar获取了width:100%样式Q这样你q道TabBar中的gwt-TabBarRest样式的必要了?br /></code> <table class="gwt-TabPanel" cell-spacing="0" cell-padding="0"><br /> <tbody><br />  <tr><br />   <td><br /><!-- this is the TabBar -->    <table class="gwt-TabBar" style="width: 100%;" cell-spacing="0" cell-padding="0"><br />     <tbody><br />      <tr><br />       <td class="gwt-TabBarFirst" style="height: 100%;"><div class="gwt-HTML" style="height: 100%;">&amp;nbsp;</div></td><br /><!-- tabs go here -->       <td class="gwt-TabBarRest" style="width: 100%;"><div class="gwt-HTML" style="height: 100%;">&amp;nbsp;</div></td><br />      </tr><br />     </tbody><br />    </table><br />   </td><br />  </tr><br />  <tr><br />   <td><br />    <div class="gwt-TabPanelBottom"><br /><!-- content gets added here -->    </div><br />   </td><br />  </tr><br /> </tbody><br /></table></p> <p> <code> <code> <strong>TextArea</strong> <br />是一个TextArea,默认的样式ؓgwt-TextArea.</code> </code> </p> <p> <code> <code> <strong>TextBox</strong> <br /> </code> <input type="text" class="gwt-TextBox" /></code> </p> <p> <code> <code> <code> <strong>Tree</strong> <br />是一个包含了多个TreeItem的DivQ默认样式gwt-Tree,讑֮overflow:auto.<br /></code> <div class="gwt-Tree" style="overflow: auto;"><br /> <div style="position: relative; margin-left: 16;" (handle)><br />  <table><br />   <tr><br />    <td></td><br />    <td></td><br />   </tr><br />  </table><br /> </div><br /></div></code> </code> </p> <p> <code> <code> <code> <code> <strong>TreeItem</strong> <br />用一个包含了一个表格的DIV来实现。默认的样式gwt-TreeItem和gwt-TreeItem-selectedQ来修饰里面的内宏V但选中的时候gwt-TreeItem-selected会替换gwt-TreeItem。这个StackPanel是一L?br /></code> <div style="position: relative; margin-left: 16; white-space: nowrap" (handle)><br /> <table style="white-space: nowrap;"><br />  <tr><br />   <td style="vertical-align: middle;"><img src="tree_white.gif" /></td><br />   <td style="vertical-align: middle;"><span style="display: inline;" class="gwt-TreeItem">content</span></td><br />  </tr><br /> </table><br /><span style="white-space: nowrap;"> children</span><br /></div></code> </code> </code> </p> <p style="text-align: justify;"> <code> <code> <code> <code> <code> <strong>VerticalPanel</strong> <br />用一个表格来实现Q所有的东西按行来排列?br /></code> <table cell-spacing="0" cell-padding="0"><br /> <tbody><br />  <tr><td style="display: static; vertical-align: top;" align="left">Item 1</td></tr><br />  <tr><td style="display: static; vertical-align: top;" align="left">Item 2</td></tr><br /> </tbody><br /></table></code> </code> </code> </code> </p> <p> <code> <code> <code> <code> <code> <code>参考:<br /><a >http://blogs.nubgames.com/code/?p=13</a></code> </code> </code> </code> </code> </code> </p> <p class="zoundry_bw_tags"> <!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --> <span id="xpqiegh" class="ztags"> <span id="ftzfdte" class="ztagspace">Technorati</span> : <a class="ztag" rel="tag">gwt css</a></span> </p> <img src ="http://m.tkk7.com/cnjmgs/aggbug/92141.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/cnjmgs/" target="_blank">Nile Black</a> 2007-01-06 03:00 <a href="http://m.tkk7.com/cnjmgs/archive/2007/01/06/92141.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SubVersion入门U教E?/title><link>http://m.tkk7.com/cnjmgs/archive/2007/01/04/91767.html</link><dc:creator>Nile Black</dc:creator><author>Nile Black</author><pubDate>Thu, 04 Jan 2007 07:37:00 GMT</pubDate><guid>http://m.tkk7.com/cnjmgs/archive/2007/01/04/91767.html</guid><wfw:comment>http://m.tkk7.com/cnjmgs/comments/91767.html</wfw:comment><comments>http://m.tkk7.com/cnjmgs/archive/2007/01/04/91767.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/cnjmgs/comments/commentRss/91767.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/cnjmgs/services/trackbacks/91767.html</trackback:ping><description><![CDATA[     摘要: 在开发过E,我们不能了版本理Q以前的cvsQ现在流行的subversion,作ؓ一个基本的工具Q我们每一个h都需要熟l的掌握和用?nbsp; <a href='http://m.tkk7.com/cnjmgs/archive/2007/01/04/91767.html'>阅读全文</a><img src ="http://m.tkk7.com/cnjmgs/aggbug/91767.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/cnjmgs/" target="_blank">Nile Black</a> 2007-01-04 15:37 <a href="http://m.tkk7.com/cnjmgs/archive/2007/01/04/91767.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://m.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://taixin668.com" target="_blank">պĻƵ</a>| <a href="http://34pmpm.com" target="_blank">޹¶</a>| <a href="http://kj555888.com" target="_blank">þþøձѹۿ</a>| <a href="http://51jingpai.com" target="_blank">ɫƷһ</a>| <a href="http://tj-zhongfa.com" target="_blank">츾avһ </a>| <a href="http://wenfaka.com" target="_blank">Ƶ</a>| <a href="http://joob4s.com" target="_blank">ݲɫAѹۿ</a>| <a href="http://jiggybaby.com" target="_blank">߹ۿ</a>| <a href="http://9797ww.com" target="_blank">Ʒlvɫ</a>| <a href="http://zz198.com" target="_blank">޹պ˳</a>| <a href="http://100357.com" target="_blank">޾Ʒþþþ66</a>| <a href="http://hengzekang.com" target="_blank">AVƬ</a>| <a href="http://mabaolu.com" target="_blank">ҵС身߿Ѹ</a>| <a href="http://jiayila.com" target="_blank">Ұ߹ۿƵ</a>| <a href="http://mangshigas.com" target="_blank">ۺϾƷһ</a>| <a href="http://maomi90.com" target="_blank">1134Ʒâ </a>| <a href="http://www-554949.com" target="_blank">˿Ļ</a>| <a href="http://56p6.com" target="_blank">޾ѡ߹ۿ</a>| <a href="http://77110524.com" target="_blank">޸Ʒһ</a>| <a href="http://cshjjc.com" target="_blank">պƷһҳ</a>| <a href="http://8568008.com" target="_blank">ССӰձۿ</a>| <a href="http://dfcnpc.com" target="_blank">ֻƵ</a>| <a href="http://peipeixiu.com" target="_blank">vƷƵ400</a>| <a href="http://616kb.com" target="_blank">99þþƷѾƷ</a>| <a href="http://lfpfjc.com" target="_blank">þùӾƷŮ</a>| <a href="http://tedegold.com" target="_blank">þƵһ</a>| <a href="http://www769393.com" target="_blank">һëƬѲ</a>| <a href="http://qqcnm.com" target="_blank">ֻ߿Ƭ</a>| <a href="http://s88s88.com" target="_blank">ƷŮͬһѲ</a>| <a href="http://www827556.com" target="_blank">Ļav</a>| <a href="http://hnqkzj.com" target="_blank">91|</a>| <a href="http://952268.com" target="_blank">Avһ</a>| <a href="http://www-171234.com" target="_blank">Ƶۿ</a>| <a href="http://xp189.com" target="_blank">Ƶһ</a>| <a href="http://rhacu.com" target="_blank">޻ɫѵӰ</a>| <a href="http://3fsf.com" target="_blank">޹ۺ</a>| <a href="http://0595laser.com" target="_blank">mvƷmvձmv</a>| <a href="http://516698.com" target="_blank">ձva߹ۿ</a>| <a href="http://lybb16.com" target="_blank">޻ɫһëƬ</a>| <a href="http://tsj68.com" target="_blank">޹ŮƵ</a>| <a href="http://codecampo.com" target="_blank">2018</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>