JAR进阶(下)

从上一篇看到的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());
}
}
}

时间: 2024-12-17 13:24:26

JAR进阶(下)的相关文章

web.xml- 有没有什么插件可以帮助提示jar包下的class

问题描述 有没有什么插件可以帮助提示jar包下的class 比如我在配置web.xml时候,org. 有没有什么插件可以帮助提示jar包下的class 解决方案 没有,所以需要我们了解web常用配置的类,再说框架集成的类也没多少,平时常积累就可以了,通用配置收集起来,或者要配置哪种功能就百度下. 解决方案二: 一直想拥有,但一直没发现. 解决方案三: Eclipse Mars这个版本有没有安装那个版本Aptana 我安装了个之前安装在myeclipse下的,把link文件放到Eclipse Ma

JAR进阶(上)

先对JAR作一下简要介绍,JAR是一种与平台无关的文档格式,全称为Java Archive,翻译成中文叫Java 归档,咋一看,它相当于一种压缩格式,可以把众多的文档合成一个文件,就象ZIP,ACE等,但它所被赋予的能力远不止这些, 首先,它与平台无关,并且兼容性好,就是说不管是windows,还是unix,都是通吃,甚至是IE和netscape之间的不兼容,也能轻松化解,这和java的精神是很相符合的. 再来,它使用户可将多个java小应用程序合并为一个文件作为单个的简单 HTTP事务下载到浏

Kinect for Windows SDK开发入门(九)骨骼追踪进阶 下

1. 基于景深数据的用户交互 到目前为止我们只用了骨骼数据中关节点的X,Y值.然而Kinect产生的关节点数据除了X,Y值外还有一个深度值.基于Kinect的应用程序应该利用好这个深度值.下面的部分将会介绍如何在Kinect应用程序中使用深度值. 除了使用WPF的3D特性外,在布局系统中可以根据深度值来设定可视化元素的尺寸大小来达到某种程序的立体效果.下面的例子使用Canvas.ZIndex属性来设置元素的层次,手动设置控件的大小并使用ScaleTransform来根据深度值的改变来进行缩放.用

求解救 ,jar都导入了,可是还是报错。

问题描述 求解救 ,jar都导入了,可是还是报错. Exception in thread "main" java.lang.NoClassDefFoundError: org/jvnet/substance/SubstanceLookAndFeel at com.mainframe.MainFrame.main(MainFrame.java:403) Caused by: java.lang.ClassNotFoundException: org.jvnet.substance.Su

mybatis-ssm项目:明明已经导入jar包,但运行时却报ClassNotFoundException异常。

问题描述 ssm项目:明明已经导入jar包,但运行时却报ClassNotFoundException异常. 异常信息如下: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.mybatis.spring.SqlSessionFactoryBean.class] for bean with name 'sessionFactory' defined in class path

linux下 Error running javac compiler

由于Linux版本更新,虽然软件都拷贝过来了,但是系统环境重新配置. 旧系统配置了ANT一键部署功能的脚本,由于部署需要,所以这里又重新配置了下环境. 1.ANT版本 1.9.2 软件路径 /usr/local/apache-ant-1.9.2/ vi etc/profile (追加一下代码即可) #set Ant enviroment export ANT_HOME=/usr/local/apache-ant-1.9.2 export PATH=$PATH:$ANT_HOME/bin 2.执行

javax/xml/ws/BindingProvider 是在哪个jar里呀。。

问题描述 BindingProvide 知道说下..谢谢了 解决方案 jaxws-api-2.0EA3.jar 这个里面的!http://www.jar114.com/s/?keyword=javax%2Fxml%2Fws%2FBindingProvider免费下载! 呵呵解决方案二:你看好多有的,这个网站可以查,用到就自己查下好了,想用的不一定是哪个包的http://www.findjar.com/index.x[MAVEN2] axis2-1.2.jar[LOCAL] jaxws-api.j

zookeeper使用和原理探究 (注意linux下防火墙导致启动失败的坑,使用service iptables stop 关闭防火墙 使用service iptables status确认)

转  http://www.blogjava.net/BucketLi/archive/2010/12/21/341268.html zookeeper使用和原理探究(一) zookeeper介绍zookeeper是一个为分布式应用提供一致性服务的软件,它是开源的Hadoop项目中的一个子项目,并且根据google发表的<The Chubby lock service for loosely-coupled distributed systems>论文来实现的,接下来我们首先来安装使用下这个软

打包自己的的Class文件为Jar文件

java cvf my.jar *.* (不加-),则把当前的目录里的所有子目录以及文件打包为my.jar,该jar包就在当前目录下 要想用该jar包需要在classpath下现加.;再加上所在jar包的绝对路径\my.jar.   jar -cf my.jar com则把com下的所有文件打包到jar包. jar -tvf my.jar是查看jar包下的所有文件.