问题描述:

      Java Applet使用

 

参考资料:

     http://docs.oracle.com/javase/tutorial/deployment/applet/deployingApplet.html

 

问题解决:

      Java 代码 extends JApplet

  LocCube.java文件:

package emos.position.view;

import java.awt.BorderLayout;

import com.sun.j3d.utils.behaviors.mouse.MouseRotate;
import com.sun.j3d.utils.behaviors.mouse.MouseTranslate;
import com.sun.j3d.utils.behaviors.mouse.MouseWheelZoom;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.swing.JApplet;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.vecmath.*; public class LocCube extends JApplet { private static final long serialVersionUID = 1L;
private Color color = new Color();
private JPanel panel = new JPanel(); /**
* Java3D 使用
* @return
*/
private BranchGroup createSceneGraph() {
BranchGroup objRoot = new BranchGroup(); BoundingSphere bounds = new BoundingSphere(new Point3d(0d, 0d, 0d),
100d); Background bg = new Background(color.diffuse);
bg.setApplicationBounds(bounds);
objRoot.addChild(bg); Transform3D ts = new Transform3D(); ts.rotX(-(double) Math.PI / 8); // 旋转X轴
Vector3f vector = new Vector3f(-5f, -5, -25f); // 指定点平移
ts.setTranslation(vector); TransformGroup tg = new TransformGroup(ts);
tg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); /**
* 鼠标旋转
*/
MouseRotate mrot = new MouseRotate(tg);
mrot.setSchedulingBounds(new BoundingSphere());
tg.addChild(mrot); /**
* 鼠标滚轮放大
*/
MouseWheelZoom zoom = new MouseWheelZoom();
zoom.setTransformGroup(tg);
zoom.setSchedulingBounds(new BoundingSphere());
tg.addChild(zoom); /**
* 鼠标右键平移
*/
MouseTranslate translate = new MouseTranslate();
translate.setTransformGroup(tg);
translate.setSchedulingBounds(new BoundingSphere());
tg.addChild(translate); Shape3D linecube = new LineCube();
Shape3D linecross = new LineCross();
tg.addChild(linecube);
tg.addChild(linecross); objRoot.addChild(tg);
objRoot.compile();
return objRoot;
} public LocCube() {
panel.setLayout(new BorderLayout());
// setLayout(new BorderLayout());
Canvas3D c = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
panel.add("Center", c);
BranchGroup scene = createSceneGraph();
SimpleUniverse u = new SimpleUniverse(c);
u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(scene);
u.getViewer().getView().setMinimumFrameCycleTime(5);
} public JPanel getPanel() {
return panel;
} public void init() {
new LocCube();
add(getPanel());
} /*
* public static void main(String[] args) { JFrame frame = new JFrame();
* LocCube panel = new LocCube(); frame.add(panel.getPanel());
* frame.setSize(200, 200); frame.setVisible(true); }
*/
}

 

JSP文件包含applet程序:

  applet.jsp文件:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<p align="center">
<applet code="emos.position.view.LocCube" archive="emos.jar" width="700"
height="500"> </applet>
</p>
<p align="center">java applet</p>
</body>
</html>

注:

      以上jsp文件,包含applet小程序的路径配置尤其需要注意,其中code表示LocCube.java 文件生成LocCube.class 文件的位置

archive表示包含LocCube.class文件的jar包文件位置,生成的jar包文件和在同一目录

      详细来说:

      1、生成emos.jar 文件

                             

         Dynamic Java Web 项目的文件目录如上所示,其中class文件位于build/classes/emos/position/view/…,使用jar工具,生成jar包文件

          

生成emos.jar 文件:

               

将如上生成的emos.jar 文件放置在WebContent目录,放置于和applet.jsp同一目录之下。其中LocCube.class位于emos.jar 文件中的

emos/position/view/目录之下。

 

  运行applet.jsp 文件: 

注:

      第一次在浏览器中使用applet小程序,需要安装Java插件,安装成功之后,配置Java插件支持浏览器类型:

    

如上图所示,包含了Java所在位置:控制面板——程序,以及设置java插件浏览器支持类型

运行结果如下:

Java Applet使用的更多相关文章

  1. Java—Applet

    1  Applet的定义 Applet是Java语言编写的,无法独立运行,但可以嵌入到网页中执行.它扩展了传统的编程结构和方法,可以通过互联网发布到任何具有Java编译环境浏览器的个体计算机上. 如下 ...

  2. The differences between Java application and Java applet

    在Java语言中,能够独立运行的程序称为Java应用程序(Application).Java语言还有另外一种程序--Applet程序.Applet程序(也称Java小程序)是运行于各种网页文件中,用于 ...

  3. Java Applet与Java Application的区别

    转自:http://www.educity.cn/java/500609.html 在Java语言中,能够独立运行的程序称为Java应用程序(Application).Java语言还有另外一种程序-- ...

  4. Java Applet与Java Application的特点

    java application是应用程序,用于桌面开发,java applet是小应用程序,一般嵌入到网页里运行.applet一般用于B/S页面上作为插件式的开发,而application主要是桌面 ...

  5. 在浏览器运行 java applet时遇到的一些问题及其解决方法

    运行 java applet时提示:您的安全设置已阻止本地应用程序运行,如何解决?如下图所示 这时候通过设置java的安全级别就可以了. 控制面板->程序->Java->安全 将安全 ...

  6. 使用Java Applet在客户端解压缩,以及使用证书的意义

    以前解压缩是用Java Applet在客户端解压缩,而且用户不知道这回事.但是现在Chrome不支持NP API了,所以不得不把Java去掉,然后在服务器里解压缩.风险在于,解压缩以后,传输到客户端的 ...

  7. Java Applet实现五子棋游戏

    从谷歌的AlphaGo到腾讯的绝艺,从人脸识别到无人驾驶,从谷歌眼镜到VR的兴起,人工智能领域在不断的向前迈进,也在不断深入的探索.但背后错综复杂的技术和利益成本也是很多企业亟待解决的难题.对于人工智 ...

  8. [java] 在linux+chrome/firefox上使用java applet

    我现在的浏览器用不了java applet,我的环境是archlinux + chrome or firefox. java网站的指引是这样说的 按照这些说明操作,以便在 Ubuntu Linux 上 ...

  9. Java - 33 Java Applet基础

    Java Applet基础 applet是一种Java程序.它一般运行在支持Java的Web浏览器内.因为它有完整的Java API支持,所以applet是一个全功能的Java应用程序. 如下所示是独 ...

随机推荐

  1. C#中保留两位小数但不四舍五入的最优做法

    多种做法比较 class Program_保留两位小数但不四舍五入 { static void Main(string[] args) { Helper.Run(delegate () { metho ...

  2. Hive中的排序语法

    ORDER BY hive中的ORDER BY语句和关系数据库中的sql语法相似.他会对查询结果做全局排序,这意味着所有的数据会传送到一个Reduce任务上,这样会导致在大数量的情况下,花费大量时间. ...

  3. AeroSpike 资料

    文档总览:http://www.aerospike.com/docs/ JAVA AeroSpike知识总览:http://www.aerospike.com/docs/client/java/sta ...

  4. 重拾C,一天一点点_8

    这两天发现一个问题,我最近发的几篇博文稀里糊涂地被转到别的网站去了,目前发现有两个网站转载了,一个注明了作者出处(博客园 lltong),但没给任何链接.另一个网站呢,就是直接抓的,而且还抓的乱七八糟 ...

  5. 使用mitmf 来绕过HSTS站点抓取登陆明文

    使用mitmf 来绕过HSTS站点抓取登陆明文 HSTS简介 HSTS是HTTP Strict Transport Security的缩写,即:"HTTP严格安全传输".当浏览器第 ...

  6. Android四大组件一----Activity

    最新面试需要复习一下Android基础. {所谓Activity} 通俗点:app上看到的窗口基本都是Activity Android 程序一般是由多个Activity组成,用户看到的能够交互的窗口通 ...

  7. Python之定向爬虫Scrapy

    1.Scrapy介绍 Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试 ...

  8. 信驰达携“Zigbee Light Link灯控方案”亮相第18届广州国际照明展

    2013年6月9日至12日,第18届广州国际照明展览会在琶洲中国进出口商品交易会展馆举行,作为全球照明及LED行业风向标和晴雨表,本次展会吸引了来自27个国际及地区,共2600多家企业参展.我公司受T ...

  9. 第五章 管理程序流(In .net4.5) 之 异常处理

    1. 概述 本章包括.net4.5中异常处理相关的部分. 2. 主要内容 2.1 处理异常 ① try.cahtch.finally 机制,无需多言. ② 使用 Environment.FailFas ...

  10. PBOC规范(2.0->3.0)对照表

    1    数据方面 TAG                                               PBOC2.0                                 ...