从上一篇看到的jar的基本用法,似乎并没让人有感觉到jar的出现是给applet的应用带来了一个新的开始。但您也许看完了下面的,就会对jar稍有认同了。
很多试着在jbuilder里做过applet的java爱好者都知道,applet的界面布局是一个比较繁人的问题,远不是如vb里面把控件放到界面上那么简单,就算是用最"高级"的grid bag布局管理器,要在上面摆多个控件也是需要调整又调整的,而且就算是在jbuilder里面还看得可以接受,但换到浏览器里面也许又是另一个样子了,当然也有摆得好的,当毕竟是需要时间和经验的,可是在jbuilder里面如果对底板不选grid bag布局管理器,而选xy布局,那在上面摆控件就真的是一件很轻松的事情了,令人遗憾的是xy布局所调用的类是com.borland.jbcl.layout下面的,是由borland公司自己编写的,很显然这样编写的applet是轻松了编写,痛苦了应用,因为实在是无法让仅仅认得jdk1.0的ie去认识borland写的类,那么就真的只有写给自己看了吗,现在有了jar,你会发现如按下面的步骤来,是可以很轻松的让别人也看到你写的包含非jdk标准类的applet。
我们在第一步写的那界面上再添加几个按钮,先把底板的布局由grid bag改变成xy,再在上面添加几个按钮,把按钮的右击事件也设置为弹出菜单,以下是源程序,在jbuilder生成的代码上简化一下,去掉暂可不用的代码和一些注释,但保证可以正常运行,
| package test1; import java.awt.*; import java.awt.event.*; import java.applet.*; import com.borland.jbcl.layout.*; public class applet1 extends applet { boolean isstandalone = false; popupmenu popupmenu1 = new popupmenu(); menuitem menuitem1 = new menuitem(); menuitem menuitem2 = new menuitem(); menuitem menuitem3 = new menuitem(); button button1 = new button(); xylayout xylayout1 = new xylayout();/*面板改变为xylayout布局,使用的是非jdk标准类*/ button button2 = new button(); button button3 = new button();/*添加三个按钮*/ public void init() { menuitem1.setlabel("1"); menuitem2.setlabel("2"); menuitem3.setlabel("3"); button1.setlabel("button1"); button1.addmouselistener(new java.awt.event.mouseadapter() { public void mousepressed(mouseevent e) { button1_mousepressed(e); } }); this.setlayout(xylayout1); button2.setlabel("button2"); button2.addmouselistener(new java.awt.event.mouseadapter() { public void mousepressed(mouseevent e) { button1_mousepressed(e); } }); button3.setlabel("button3"); button3.addmouselistener(new java.awt.event.mouseadapter() {/*三个按钮的右键事件都为一个*/ public void mousepressed(mouseevent e) { button1_mousepressed(e); } }); popupmenu1.add(menuitem1); popupmenu1.add(menuitem2); popupmenu1.add(menuitem3); this.add(button1, new xyconstraints(155, 5, -1, -1)); add(popupmenu1); this.add(button2, new xyconstraints(49, 94, 101, 32)); this.add(button3, new xyconstraints(235, 92, 98, 36)); } void button1_mousepressed(mouseevent e) { int mods=e.getmodifiers(); if((mods&inputevent.button3_mask)!=0) { popupmenu1.show(button1,e.getx(),e.gety()); } } } |
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器