我创建了一个Java applet程序并对其进行了编译.作为编译的结果,它生成了一个class
文件.但是,使用appletviewer
命令在命令提示符下运行applet时,它显示以下警告消息.
D:\Applets\Applets>appletviewer FirstApplet.java
Warning: Can't read AppletViewer properties file: C:eswaran_s.VMSPL\.hotjava\properties Using defaults.
Run Code Online (Sandbox Code Playgroud)
当我再次运行此命令时,它不会显示警告消息,但applet未运行.
我该如何解决这个问题?
我注意到在C:\Program Files\Java
文件夹中,有JDK安装的公共JRE,我知道这是正常的.但随后有文件夹jdk1.x\jre\bin\
与java.exe, javaw
它等.然后是编译器文件夹jdk1.x\bin
,其中包含javac
JRE中包含的所有其他文件等java.exe, javaw, appletviewer
.
为什么JDK会附带所有这些JRE?这3个有什么区别?
尝试将应用程序移植到其上时,我遇到了一个问题,JApplet
因此它可以在浏览器上运行.
课程内容:
CustomClassLoader
实现.存储在网站上.问题:
我NoClassDefFoundError
试图用我的内容目录加载.class文件CustomClassLoader
.
这个错误虽然无法实现,但却与jar中的一个类有关.这门课是抽象的.内容目录中的所有.class文件都扩展此类并填充所有必需的方法.加载这些类后,将引发错误.该程序在正常运行时运行java -jar file.jar
良好.
这让我相信它与classpath有关.
安全设置:
我正在通过appletviewer
命令运行applet,如下所示:
appletviewer -J-Djava.security.policy=policy file.html
Run Code Online (Sandbox Code Playgroud)
在同一目录中是我的策略文件:
grant {
permission java.lang.RuntimePermission "getenv.APPDATA";
permission java.io.FilePermission "<<ALL FILES>>", "read, write, delete, execute";
permission java.lang.RuntimePermission "exitVM";
permission java.util.PropertyPermission "user.name", "read";
permission java.lang.RuntimePermission "createClassLoader";
};
Run Code Online (Sandbox Code Playgroud)
据我所知,没有其他安全例外被抛出.小程序已签名.
用于加载Applet的HTML文件:
<!DOCTYPE html>
<html>
<body>
<object width="1000" height="600" classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0">
<param name="archive" value="file.jar"/>
<param name="code" value="package.to.Boot"/>
</object>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助解决这个问题.
CustomClassLoader.java:
package org.obicere.cc.methods;
import java.io.File;
public class …
Run Code Online (Sandbox Code Playgroud) 有谁知道为什么我的Java小程序不显示任何内容?
这是我的第一个Java applet,所以我不熟悉它.我研究了这个问题,并没有找到特定于当前问题的答案.
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Font;
import java.awt.Color;
public class JavaRocksApplet extends Applet
{
public void paint( Graphics screen )
{
Font f = new Font( "TimesRoman", Font.ITALIC, 36 );
screen.setFont( f );
Color c = new Color( 40, 80, 120 );
screen.setColor( c );
screen.drawString( "Java Rocks!!", 100, 60 );
}
}
Run Code Online (Sandbox Code Playgroud)
我是否在命令模块或html页面中使用appletviewer并不重要.
<html>
<head>
<title>JavaRocksApplet</title>
</head>
<body>
<applet code = "JavaRocksApplet.class" width = 400 height = 200> </applet>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
编译Java程序时没有错误,所以我对它为什么不起作用有点困惑.
此外,我正在使用运行OSX 10.8.2 Mountain Lion和Java …
一个简单的问题可能不是那么简单的解决方案.我的代码应该在黑色背景上显示一个可以在屏幕上移动的三角形.只显示任何内容,只显示无法右键单击的白色区域.它在appletviewer或HTML文档中都不起作用,并且没有显示语法错误.我的代码出了什么问题?
import java.awt.*;
import java.applet.*;
import java.awt.geom.*;
import java.awt.image.BufferedImage;
import java.awt.event.*;
public class Shipmovementtest extends Applet implements Runnable,KeyListener{
Graphics2D g2d;
Ship ship1 = new Ship();
BufferedImage backbuffer;
AffineTransform identity = new AffineTransform();
Shape ship1shape;
Thread gameloop;
public void start()
{
gameloop = new Thread(this);
gameloop.start();
}
public void run()
{
Thread t = Thread.currentThread();
while(gameloop==t)
{
try
{
Thread.sleep(20);
}
catch(InterruptedException e)
{
e.printStackTrace();
}
repaint();
}
}
public void stop()
{
gameloop = null;
}
public void init()
{ …
Run Code Online (Sandbox Code Playgroud) 我注意到在java-application中向包含main方法的类添加一个非静态方法然后在main-method中调用它会导致编译错误.我可以理解,因为这个类永远不会被实例化.
但是,将一个非静态方法添加到Applet类并从内部调用它,比如paint方法可以正常工作.为什么是这样?小程序类是以某种方式由appletviewer实例化的,还是有另一种解释为什么前者不被允许而后者是?
我编写了一个小测试applet并通过Eclipse appletviewer启动applet.我在代码的begginig上注意到了tag,但是appletviewer没有看到它.它在标准窗口中启动applet,每次都具有相同的大小.我使用JDK 1.7,Eclipse Kepler
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
/*<applet code="TestApplet" width=200 height=40>
</applet>
*/
public class TestApplet extends JApplet{
private Container cp;
private JPanel mainPanel, testPanel1;
private JLabel testLabel1 = new JLabel("Test1"),
testLabel2 = new JLabel("Test2");
private JTextField testTextField1 = new JTextField(),
testTextField2 = new JTextField();
private JButton testButton1 = new JButton("TestButton1"),
testButton2 = new JButton("TestButton2");
public void init(){
cp = getContentPane(); …
Run Code Online (Sandbox Code Playgroud) 如何在Netbeans IDE中编写Java Applet程序.我想在Netbeans上编写一个Java Applet程序,并在浏览器上运行.请帮我
谢谢