??xml version="1.0" encoding="utf-8" standalone="yes"?>大香伊人中文字幕精品,国产亚洲精品aa午夜观看,日韩精品一级中文字幕精品视频免费观看 http://www.aygfsteel.com/benbenming/category/7118.htmlzh-cnTue, 27 Feb 2007 12:18:24 GMTTue, 27 Feb 2007 12:18:24 GMT60Eclipse中用SWT和JFace开发入?/title><link>http://www.aygfsteel.com/benbenming/articles/28726.html</link><dc:creator>benbenming</dc:creator><author>benbenming</author><pubDate>Fri, 20 Jan 2006 01:59:00 GMT</pubDate><guid>http://www.aygfsteel.com/benbenming/articles/28726.html</guid><wfw:comment>http://www.aygfsteel.com/benbenming/comments/28726.html</wfw:comment><comments>http://www.aygfsteel.com/benbenming/articles/28726.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/benbenming/comments/commentRss/28726.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/benbenming/services/trackbacks/28726.html</trackback:ping><description><![CDATA[可以使用标准H口部?A class=bluekey target=_blank>工具?/A>QStandard Widget ToolkitQ?A class=bluekey target=_blank>SWT</A>Q和 JFace 库来开发用?<A class=bluekey target=_blank>Eclipse</A> 环境?A class=bluekey target=_blank>囑Ş用户界面</A>Q而且q可以将它们用于开发单独的 <A class=bluekey target=_blank>GUI</A> 本机应用E序。在本文中,我将介绍一些基本的 SWTQ基?<A class=bluekey target=_blank>GUI</A> 对象的名UͼcdQƈ展示如何l合使用它们?A class=bluekey target=_blank>创徏</A>有用的应用程序?<BR><BR>  <STRONG>关于 Eclipse、SWT ?JFace</STRONG><BR><BR>  正如 Eclipse ?Web 站点上所提到的,Eclipse 是一U通用工具q_。它是一?A class=bluekey target=_blank>开?/A>的、可用于M东西的可扩展 IDEQ没什么特别之处,它ؓ工具开发h员提供了灉|性以及对软g技术的控制?<BR><BR>  Eclipse 为开发h员提供了生大量 GUI 驱动的工具和应用E序的基。而这功能的基础是 GUI ?SWT ?JFace?<BR><BR>  SWT 是一个库Q它创徏了Java 版的本地L操作pȝ GUI 控g。它依赖于本机实现。这意味着Z SWT 的应用程序具有以下几?A class=bluekey target=_blank>关键</A>Ҏ(gu): <BR><BR> <LI>它们的外观、行为和<A class=bluekey target=_blank>执行</A>cM于“本机”应用程序? <LI>所提供的窗口小部gQwidgetQ反映了L操作pȝ上提供的H口部Ӟlg和控Ӟ? <LI>L GUI 库的MҎ(gu)行ؓ都在 SWT GUI 中得到反映? <OL></OL>  q些目标使得 SWT <A class=bluekey target=_blank>不同</A>?Java 技术的 SwingQSwing 的设计目标是消除操作pȝ的差异?<BR><BR>  SWT 库反映了L操作pȝ的基本窗口小部g。在许多环境下,q种Ҏ(gu)太低U。JFace 库有助于?SWT 应用E序中添加大量服务。JFace q没有隐?SWTQ它只是扩展?SWT。正如?zhn)在q一pd的后面部分中看到的,SWT 最重要的扩展之一是,应用程序的数据模型与显C及更改它的 GUI 隔离开来?BR><BR>  在开始之前,我需要介l一?SWT 术语Q?<BR><BR> <LI><B>Widget</B> —?基本?SWT GUI lgQ类g Java <A class=bluekey target=_blank>AWT</A> 中的 Component ?Swing 中的 JComponentQ。Widget 是一?A class=bluekey target=_blank>抽象c?/A>? <LI><B><A class=bluekey target=_blank>Control</A></B> —?拥有操作pȝ的对{物的窗口小部gQ换句话_在操作系l中h同一w䆾Q。Control 是一个抽象类? <LI><B><A class=bluekey target=_blank>Composite</A></B> —?包含其他控g的控ӞcM?Java AWT 中的 Container ?Swing 中的 JPanelQ? <LI><B>Item</B> —?其他控g包含的窗口小部gQ该控g可能不是复合控gQ,比如列表和表。注意,包含一些项的控件很包含其他控Ӟ反之亦然。Item 是一个抽象类? <UL></UL>   q些H口部件被安排在承层?A class=bluekey target=_blank>l构</A>中。参见图 1、图 2 和图 3Q了解它们是如何安排的。在?2 中,Basic1 cL来自本文的类Q而其他所有类都是标准?SWT H口部件?<BR><BR><B>?1. SWT Widget ?/B></LI> <LI><IMG align=baseline alt="" border=0 hspace=0 src="D:\t1.jpg"></LI> <LI><B>?2. SWT Composite ?/B><BR><IMG align=baseline alt="" border=0 hspace=0 src="D:\t2.jpg"></LI> <LI><B>?3. SWT Item 列表</B></LI> <LI><IMG align=baseline alt="" border=0 hspace=0 src="D:\t3.jpg"></LI> <LI>注意QEclipse h跨^台特性(因此可以在许多操作^Cq行Q,本文Z Eclipse ?<A class=bluekey target=_blank>Microsoft</A>? Window<A class=bluekey target=_blank>s?</A> 版本。因此,本文包含的每个例子都应该能够不加M更改地在其他q_上用。还要注意的是,本文是基?Eclipse <A class=bluekey target=_blank>V3</A>.0 的。Eclipse <A class=bluekey target=_blank>V3</A>.1 中添加了许 GUI H口部件类型和Ҏ(gu)?</LI> <P>  <STRONG>基本控g</STRONG><BR><BR>  几乎所?SWT GUI 都是从某些基部分开始创建的。所?SWT H口部仉可以?<CODE>org.eclipse.swt.widget</CODE> ?<CODE>org.eclipse.swt.custom</CODE> 包中扑ֈ。(一?Eclipse 插gq在其他包中提供了定制的H口部件。)H口部件包中包含一些基于操作系l控件的控gQ而定制包中则包含一些超出操作系l控仉之外的控件。一些定制的软g包控件类gH口部件包中的控g。ؓ了避免命名冲H,定制控g的名U都是以“C”开始的Q例如,比较 CLabel ?LabelQ?<BR><BR>  ?SWT 中,所有控Ӟ除了一些高U控Ӟ比如 shellQ将在后面进行讨论)在创建的时候都必须有一个父控gQ一个复合实例)。在创徏的时候,q些控g被自动“添加”到父控件中Q这与必L添加到父控件中?AWT/Swing 中的控g有所不同Q自动添加生了一U“自上而下”地构?GUI 的方法。这P所有控仉可以采用一个复合父控gQ或者一个子c)作ؓ构造函数的参数?BR><BR>  大多数控仉有一些必d创徏时设|的标记选项。因此,大多数控件还有另外一个构造函数参敎ͼ我们通常UC为样式,该参数提供了讄q些选项的标记。所有这些参数值都?<CODE>static final int</CODE>Qƈ且都是在 <CODE>org.eclipse.swt</CODE> 包的 <CODE>SWT</CODE> cM定义的。如果不需要Q何参敎ͼ则可以?<CODE>SWT.NONE</CODE> 倹{?<BR><BR>  <B>标签</B><BR><BR>  标签可能是最单的控gQ标{?被用于显C纯文本Q没有颜艌Ӏ特D字体或样式的文本)或称为图标的图像。标{不接受焦点Q换句话_用户不能通过 Tab 键或鼠标Ud到标{)Q因此,标签无法产生输入事g?BR><BR>  清单 1 展示了如何创Z个简单的文本标签?BR><BR>  <B>清单 1. 创徏一个带文本的标{?/B><BR><BR> <TABLE align=center bgColor=#dadacf border=1 borderColor=#ffcc66 style="HEIGHT: 147px; WIDTH: 865px" width="90%"> <TBODY> <TR> <TD><PRE><CODE> import org.eclipse.swt.widget.*; : Composite parent = ...; : // create a center aligned label Label label = new Label(parent, SWT.CENTER); label.setText("This is the label text"); </CODE></PRE></TD></TR></TBODY></TABLE><BR>  注意Q该文本是采用不同于构造函数的单独的方法设|的。这是所?SWT 控g的一个典型象征。只有父控g和样式是在构造函C讄的,其他所有属性都是在已创建的对象上设|的?<BR><BR>  ׃q_的限Ӟ标准标签控g不能同时拥有文本和图标。ؓ了支持同时拥有文本和图标Q可以?CLabel 控gQ如清单 2 中所C?BR> <BR>  <B>清单 2. 创徏一个包含文本和囑փ的标{?/B><BR><BR> <TABLE align=center bgColor=#dadacf border=1 borderColor=#ffcc66 style="HEIGHT: 207px; WIDTH: 862px" width="90%"> <TBODY> <TR> <TD><PRE><CODE> import com.eclipse.swt.graphics.*; import org.eclipse.swt.widget.*; import org.eclipse.swt.custom.*; : Composite parent = ...; Image image = ...; : // create a left aligned label with an icon CLabel Clabel = new CLabel(parent, SWT.LEFT); label.setText("This is the imaged label text""); label.setImage(image); </CODE></PRE></TD></TR></TBODY></TABLE><BR>  <B>文本</B><BR><BR>  在标{显C文本的同时Q?zhn)时常q想允许用户插入文本。文?控g是用于此目的的。文本可以是单行的(一个文本字D)Q也可以是多行的Q一个文本区域)。文本还可以是只ȝ。文本字D中没有描述Q因此,常常通过标签控g处理它们Q以定它们的用途。文本控件还可以包含一个“工hC”,提供关于控g用途的信息Q所有控仉支持q一Ҏ(gu))?<BR><BR>  清单 3 昄了如何用允怋用的有限数量的特性来创徏一个简单的文本字段。选择默认文本是ؓ了便于擦除。 <BR><BR>  <B>清单 3. 创徏一个包含选定的默认文本和一个限制条件的文本</B><BR><BR> <TABLE align=center bgColor=#dadacf border=1 borderColor=#ffcc66 style="HEIGHT: 192px; WIDTH: 872px" width=872> <TBODY> <TR> <TD><PRE><CODE> import org.eclipse.swt.widget.*; : Composite parent = ...; : // create a text field Text name = new Text(parent, SWT.SINGLE); name.setText("<none>"); name.setTextLimit(50); name.setToolTipText("Enter your name -- Last, First"); name.selectAll(); // enable fast erase </CODE></PRE></TD></TR></TBODY></TABLE><BR>  <STRONG>按钮</STRONG><BR><BR>  通常Q?zhn)希望用户指出应该何时q行某项操作。最常见的做法是使用按钮 控g。存在以下几U样式的按钮Q?</P> <UL xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <LI><B>ARROW</B> —?昄Z个指向上、下、左、右方向的箭头? <LI><B>CHECK</B> —?已标记的复选标记? <LI><B>FLAT</B> —?没有凸v外观的按钮? <LI><B>PUSH</B> —?瞬时按钮Q最常见的事件源Q? <LI><B>RADIO</B> —?h排他性的_性标讎ͼsticky markQ,其他所有单选按钮都在相同的l中? <LI><B>TOGGLE</B> —?一个粘性按钮?</LI></UL> <P>  清单 4 创徏了一个“Clear”按钮:  <BR><BR>  <B>清单 4. 创徏一个按?/B><BR><BR> <TABLE align=center bgColor=#dadacf border=1 borderColor=#ffcc66 style="HEIGHT: 147px; WIDTH: 893px" width=893> <TBODY> <TR> <TD><PRE><CODE> import org.eclipse.swt.widget.*; : Composite parent = ...; : // create a push button Button clear = new Button(parent, SWT.PUSH); clear.setText("Clea&r"); </CODE></PRE></TD></TR></TBODY></TABLE><BR>  名称中的 <CODE>&</CODE> D利用紧接着的一个字母创Z个加速器Q允?dng)R过 Ctrl+<字母> 序的方式按下按钮(控g序׃机操作系l决定)?<BR><BR>  <B>事g监听?/B><BR><BR>  通常Q?zhn)可能惛_选择按钮Q特别是某种推式按钮Q的时候执行一些操作。?zhn)可以通过向该按钮d一?<CODE>SelectionListener</CODE>Q在 <CODE>org.eclipse.swt.events</CODE> 包中Q做到这一炏V当按钮状态发生改变时Q通常是按钮被按下Q,׃生成事g。清?5 在单?Clear 按钮时输Z条消息。  <BR><BR>  <B>清单 5. 按钮事g处理E序</B><BR><BR> <TABLE align=center bgColor=#dadacf border=1 borderColor=#ffcc66 style="HEIGHT: 207px; WIDTH: 907px" width=907> <TBODY> <TR> <TD><PRE><CODE> import org.eclipse.swt.events.*; : // Clear button pressed event handler clear.addSelectionListener(new SelectionListener() { public void widgetelected(selectionEvent e) { System.out.println("Clear pressed!"); } public void widgetDefaultSelected(selectionEvent e) { widgetelected(e); } }); </CODE></PRE></TD></TR></TBODY></TABLE><BR>  此代码用了一个匿名的内部c,但?zhn)q可以用指定的内部cL单独的类作ؓ监听器。多数包含两个或更多Ҏ(gu)?<CODE>...Listener</CODE> c还有一个类似的 <CODE>...Adapter</CODE> c,q个cL供了一些空的方法实玎ͼq且可以减少(zhn)需要编写的代码数量。例如,q有一?<CODE>SelectionAdapter</CODE> c,q个cdC <CODE>SelectionListener</CODE>?<BR><BR>  注意Q在q些Ҏ(gu)中执行的操作必须快速完成(通常不一U时_Q或者说 GUI 的反应将是迟钝的。更长时间的操作Q比如访问文Ӟ需要单独的U程Q但那是以后某期文章的主题?<BR><BR>  <STRONG>复合控g</STRONG><BR><BR>  xQ我们已l讨Z一些单独的控g。在多数 GUI 中,许多控g被组合在一起以提供丰富的用户体验。在 SWT 中,q种l合是通过 Composite cd现的?<BR><BR>  复合控g可以在Q何别上q行嵌套Qƈ且可以؜合和匚w控gQ将它们作ؓ子控件进行组合。这样做可以极大地减?GUI 开发的复杂性,qؓ GUI 代码重用Q通过装内部 GUIQ创造了Z。复合控件可以是有边界的Qƈ且这些边界很Ҏ(gu)在视觉上产生hQ或者它们也可以是无边界的,无缝集成到更大的l中?<BR><BR>  清单 6. 创徏一个有边界的复合控件?BR><BR>  <B>?6. 创徏一个有边界的复合控?/B><BR><BR> <TABLE align=center bgColor=#dadacf border=1 borderColor=#ffcc66 style="HEIGHT: 117px; WIDTH: 902px" width="90%"> <TBODY> <TR> <TD><PRE><CODE> import org.eclipse.swt.widget.*; : Composite parent = ...; : Composite border = new Composite(parent, SWT.BORDER); </CODE></PRE></TD></TR></TBODY></TABLE><BR>  除了边界之外QGroup 复合子类q支持标题。在定义排他性按钮集合时Q组通常被用来包含单选类型的按钮?<BR><BR>  清单 7 创徏了一个有边界的组?BR><BR>  <B>清单 7. 创徏一个有边界的组</B><BR><BR> <TABLE align=center bgColor=#dadacf border=1 borderColor=#ffcc66 style="HEIGHT: 132px; WIDTH: 905px" width=905> <TBODY> <TR> <TD><PRE><CODE> import org.eclipse.swt.widget.*; : Composite parent = ...; : Group border = new Group(parent, SWT.SHADOW_OUT); border.setText("Group Description"); </CODE></PRE></TD></TR></TBODY></TABLE><BR>  <STRONG>shell</STRONG><BR><BR>  shell 是一U可能没有父复合控g的复合控Ӟ框架或窗口)Q此外,它还有一个作为父控g?DisplayQ这通常也是默认讄。shell 有很多种样式Q但最常见的样式是 <CODE>SWT.SHELL_TRIM</CODE> ?<CODE>SWT.DIALOG_TRIM</CODE>。shell 可以是模态的Q也可以是非模态的。模?shell 常常用于对话框,防止?GUIQ如果有的话Q在关闭?shell 之前被处理?<BR><BR>  清单 8 创徏了一个框架样式的非模?shell?BR><BR>  <B>清单 8. 创徏一个顶U?shell</B><BR><BR> <TABLE align=center bgColor=#dadacf border=1 borderColor=#ffcc66 style="HEIGHT: 103px; WIDTH: 910px" width="90%"> <TBODY> <TR> <TD><PRE><CODE> import org.eclipse.swt.widget.*; : Shell frame = new Shell(SWT.SHELL_TRIM); : </CODE></PRE></TD></TR></TBODY></TABLE><BR>  shell 可以有子 shell。这些子 shell 是与?shell 相关的独立桌面窗口(也就是说Q如果父 shell 关闭Q那么其所有子 shell 也将关闭Q?<BR><BR>  清单 9 创徏了一个对话框样式的子 shell?BR><BR>  <B>清单 9. 创徏一个对话框 shell</B><BR><BR> <TABLE align=center bgColor=#dadacf border=1 borderColor=#ffcc66 style="HEIGHT: 88px; WIDTH: 918px" width="90%"> <TBODY> <TR> <TD><PRE><CODE> : Shell dialog = new Shell(frame, SWT.DIALOG_TRIM); : </CODE></PRE></TD></TR></TBODY></TABLE><BR>  参见?4 中具?SWT.SHELL_TRIMSee ?shellQ以及图 5 中具?SWT.DIALOG_TRIM ?shellQ了解这些值如何媄?shell 的整z性?<BR><BR><B>?4. h SWT.SHELL_TRIM ?shell</B><BR><IMG align=baseline alt="" border=0 hspace=0 src="D:\t4.jpg"><BR><B>?5. h SWT.DIALOG_TRIM ?shell<BR><IMG align=baseline alt="" border=0 hspace=0 src="D:\t5.jpg"><BR><BR>  <STRONG>布局理?/STRONG><BR><BR>  复合控g常常包含多个控g。可以用以下两U方法安排这些控Ӟ </P> <OL xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <LI><B>l对定位</B> —?为每个控件设|明的 X ?Y 位置Qƈ通过代码讄一定的宽度和高度?<BR> <LI><B>托管定位</B> —?每个控g?X、Y、宽度和高度都是通过LayoutManager 讄的?</LI></OL> <P><BR>  在多数情况下Q应该选择使用 LayoutManagersQ因为很Ҏ(gu)调整它们来适应可变大小?GUI。SWT 也提供了一些布局理器供(zhn)用;在这一期的pd文章中,我们讨ZU基本的布局理器:FillLayout ?GridLayout。在q两U情况下Q每当重新设|复合控件的大小Q都需要进行定位?<BR><BR>  一些布局理器常常是专ؓ某一个复合控件分配的。一些布局理器只使用它们自n的参数就可以控制Q而另一些布局理器还需要其他参?—?LayoutDataQ该参数是在它们理的复合控件中的每个控件上指定的?<BR><BR>  <STRONG>FillLayout</STRONG><BR><BR>  FillLayout 以行或列的Ş式安排控件。每个控件所讄的大将与填充该复合控g所需的宽度和高度相同Q在q些控g之间Q空间是q_分配的。一U特D情冉|Q在仅有一个子控gӞ该控件的大小被设|ؓ填充整个父复合控件的大小?BR><BR>  <B>清单 10. 使用 FillLayout 创徏一列控?/B><BR><BR> <TABLE align=center bgColor=#dadacf border=1 borderColor=#ffcc66 style="HEIGHT: 132px; WIDTH: 881px" width="90%"> <TBODY> <TR> <TD><PRE><CODE> import org.eclipse.swt.widget.*; import org.eclipse.swt.layouts.*; : Composite composite = ...; FillLayout fillLayout = new FillLayout(SWT.VERTICAL); composite.setLayout(fillLayout); </CODE></PRE></TD></TR></TBODY></TABLE><BR>  <STRONG>GridLayout</STRONG><BR><BR>  GridLayout 提供了一个功能更强大的布局Ҏ(gu)Q该Ҏ(gu)cM于?HTML 表的Ҏ(gu)。它创徏?2-D |格的单元格。可以将控g攄在一个或多个单元gQ可以称之ؓ单元D)。单元格的大可以是相等的,或者是|格宽度或高度的某个l定可变癑ֈ比。可以将控gd到某一行的下一个可用列中,如果q一行中没有更多的列Q那么该控g移动到下一行的W一列中?<BR><BR>  清单 11 创徏了一个复合控Ӟ该控件有两行和两个列Q其中包含两个已标记的文本字Dc这些列可以有不同的宽度?BR><BR>  <B>清单 11. 创徏一个控件表</B><BR><BR> <TABLE align=center bgColor=#dadacf border=1 borderColor=#ffcc66 style="HEIGHT: 222px; WIDTH: 903px" width="90%"> <TBODY> <TR> <TD><PRE><CODE> import org.eclipse.swt.widget.*; import org.eclipse.swt.layouts.*; : Composite composite = ...; GridLayout gridLayout = new GridLayout(2, false); composite.setLayout(gridLayout); Label l1 = new Label(composite, SWT.LEFT); l1.settext("First Name: "); Text first = new Text(composite, SWT.SINGLE); Label l1 = new Label(composite, SWT.LEFT); l2.setText("Last Name: "); Text last = new Text(composite, SWT.SINGLE); </CODE></PRE></TD></TR></TBODY></TABLE><BR>  <STRONG>GridData</STRONG><BR><BR>  考虑一下这U情况:(zhn)需要指定每个控件如何用其单元g的剩余空间。ؓ了给每个单元格提供这U精控Ӟd?GridLayout 的托复合控件的控g可以拥有 GridData 实例QLayoutData 的子c)?<BR><BR>  清单 12 讄了这些文本字D,以便采用所有可用的剩余I间Q根据前面的清单Q?BR><BR>  <B>清单 12. 配置一个扩展到所有可用空间的布局</B><BR><BR> <TABLE align=center bgColor=#dadacf border=1 borderColor=#ffcc66 style="HEIGHT: 72px; WIDTH: 907px" width="90%"> <TBODY> <TR> <TD><PRE><CODE>first.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); last.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); </CODE></PRE></TD></TR></TBODY></TABLE><BR>  <STRONG>构徏一个运行程?/STRONG><BR><BR>  现在是时候来看一下我们已l在单的可执行例?Basic1 中讨的所?SWT 控g了。请参阅 参考资料,以获得该应用E序的完整源代码?BR><BR>  SWT GUI 需要一个已配置好的环境来运行。这个环境是通过一个显C实例提供的Q该实例提供了对L操作pȝ昄讑֤的访问。这个显C实例允许?zhn)处理每个用户输入Q鼠标或键盘Q来处理(zhn)的 GUI?<BR><BR>  清单 13 创徏了一个环境和一?GUIQƈ昄了这?GUI?BR><BR>  <B>清单 13. 创徏一?GUI 应用E序q启动它</B><BR><BR> <TABLE align=center bgColor=#dadacf border=1 borderColor=#ffcc66 style="HEIGHT: 312px; WIDTH: 891px" width="90%"> <TBODY> <TR> <TD><PRE><CODE> import org.eclipse.swt.widget.*; : Display display = new Display(); Shell shell = new Shell(display); shell.setText("Shell Title"); // *** construct Shell children here *** shell.open(); // open shell for user access // process all user input events while(!shell.isDisposed()) { // process the next event, wait when none available if(!display.readAndDispatch()) { display.sleep(); } } display.dispose(); // must always clean up </CODE></PRE></TD></TR></TBODY></TABLE><BR>  此代码创Z一个类g?6 的窗口?<BR><BR><B>?6. CZ应用E序</B><BR><IMG align=baseline alt="" border=0 hspace=0 src="D:\t6.jpg"><BR><BR><B>l束?/B><BR><BR>  ?<FONT face=System>SWT ?JFace</FONT> pd的第一期中Q我们介l了大多数基?SWT H口部件控Ӟ标签、文本、按钮、复合控件和 shell。这些控Ӟ与显C类Qdisplay classQ相l合Q允许创建全功能?GUI?<BR><BR><BR><BR></B></P><img src ="http://www.aygfsteel.com/benbenming/aggbug/28726.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/benbenming/" target="_blank">benbenming</a> 2006-01-20 09:59 <a href="http://www.aygfsteel.com/benbenming/articles/28726.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用Java核心cd的zip包实现压~?解压文gQ?/title><link>http://www.aygfsteel.com/benbenming/articles/28583.html</link><dc:creator>benbenming</dc:creator><author>benbenming</author><pubDate>Wed, 18 Jan 2006 16:24:00 GMT</pubDate><guid>http://www.aygfsteel.com/benbenming/articles/28583.html</guid><wfw:comment>http://www.aygfsteel.com/benbenming/comments/28583.html</wfw:comment><comments>http://www.aygfsteel.com/benbenming/articles/28583.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/benbenming/comments/commentRss/28583.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/benbenming/services/trackbacks/28583.html</trackback:ping><description><![CDATA[     摘要:     ׃需要,q几天研I了一下用Java技术实现文件及文gҎ(gu)zip包及解zip包,使用的是java.util.zip包下的类Q主要用到的是三个类Q即QZipEntryQ我的理解是zip文g中压~的一个个子文ӞZipInputStream是zip格式的输入流QZipOutputStream是zip格式的输出流Q?nbsp;   q方面网上也...  <a href='http://www.aygfsteel.com/benbenming/articles/28583.html'>阅读全文</a><img src ="http://www.aygfsteel.com/benbenming/aggbug/28583.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/benbenming/" target="_blank">benbenming</a> 2006-01-19 00:24 <a href="http://www.aygfsteel.com/benbenming/articles/28583.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ں</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">ԭ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʼ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ĵ</a>| <a href="http://" target="_blank">˫</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͼʲ</a>| <a href="http://" target="_blank">«ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ̶</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ï</a>| <a href="http://" target="_blank">ľ</a>| <a href="http://" target="_blank">ӽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͨμ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">ء</a>| <a href="http://" target="_blank">Ļ</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">ͨ</a>| <a href="http://" target="_blank">â</a>| <a href="http://" target="_blank"></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>