Hallo ich hab mir einen Source-code aus dem Internet kopiert, der ein Applet erzeugen soll.
Hab einfach die verschiedenen .java files in meinen Compiler (Eclipse) eingefügt und ausgeführt. Da spuckt er mir dann folgenden Fehler aus:
Es sind insgesamt 5 *.java files. Ich benutze Linux (falls das eine Rolle spielt).
Eclipse zeigt mir keine Fehler an bevor ich das Applet ausführe, aber er zeigt mir so "achtung" zeichen an :
der Fehler spielt nach meinen Recherchen keine Rolle, aber ich hab ihn tortzdem mal gepostet
(Ich denke der Source Code noch nicht nötig wenn doch einfach bescheid sagen )
Also schonmal vielen dank an die Helfer
!
[/code]
//edit: gesagt getan: DoubleWellApplet.java:
Hab einfach die verschiedenen .java files in meinen Compiler (Eclipse) eingefügt und ausgeführt. Da spuckt er mir dann folgenden Fehler aus:
Code:
java.lang.NullPointerException
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:991)
at java.lang.Double.valueOf(Double.java:447)
at DoubleWellApplet.init(DoubleWellApplet.java:48)
at sun.applet.AppletPanel.run(AppletPanel.java:378)
at java.lang.Thread.run(Thread.java:595)
Es sind insgesamt 5 *.java files. Ich benutze Linux (falls das eine Rolle spielt).
Eclipse zeigt mir keine Fehler an bevor ich das Applet ausführe, aber er zeigt mir so "achtung" zeichen an :
Code:
The import java.lang is never used bei "import java.lang.*;"
Code:
The serializable class DoubleWellApplet does not declare a static
final serialVersionUID field of type long bei " public class DoubleWellApplet extends Applet implements Runnable {"
(Ich denke der Source Code noch nicht nötig wenn doch einfach bescheid sagen )
Also schonmal vielen dank an die Helfer
[/code]
//edit: gesagt getan: DoubleWellApplet.java:
Code:
//=====================================================================
// File: DoubleWellApplet.java
//
// Applied Math 303, Term Project
// Blair Fraser, 2303725
//=====================================================================
import java.applet.Applet;
import java.awt.*;
import java.lang.*;
public class DoubleWellApplet extends Applet implements Runnable {
//=====================================================================
// Variables
//
//=====================================================================
DoubleWellCanvas equationCanvas;
Thread thread;
Button stopStart;
TextField positionText, velocityText, forceAmpText,
forceFreqText, dampenText;
//=====================================================================
// Methods
//
//=====================================================================
//=====================================================================
// initialize
//
// Initialize the applet, create the user interface, get parameters
// from the html file, create the equation canvas.
//=====================================================================
public void init() {
setLayout(new BorderLayout());
//----------------
// Get parameters
//----------------
String str = new String();
str = getParameter("initial_position");
double initialx = Double.valueOf(str).doubleValue();
str = getParameter("initial_velocity");
double initialy = Double.valueOf(str).doubleValue();
str = getParameter("forcing_amplitude");
double forcingAmp = Double.valueOf(str).doubleValue();
str = getParameter("dampening_constant");
double dampening = Double.valueOf(str).doubleValue();
str = getParameter("forcing_frequency");
double forcingFreq = Double.valueOf(str).doubleValue();
str = getParameter("time_step");
double stepSize = Double.valueOf(str).doubleValue();
str = getParameter("interface_on");
boolean buttonsOn = Boolean.valueOf(str).booleanValue();
str = getParameter("maximum_x");
double domainMaxx = Double.valueOf(str).doubleValue();
str = getParameter("minimum_x");
double domainMinx = Double.valueOf(str).doubleValue();
str = getParameter("maximum_y");
double domainMaxy = Double.valueOf(str).doubleValue();
str = getParameter("minimum_y");
double domainMiny = Double.valueOf(str).doubleValue();
//----------------------------
// Create the equation canvas
//----------------------------
equationCanvas = new DoubleWellCanvas();
equationCanvas.setParams(dampening, forcingAmp, forcingFreq);
equationCanvas.setInitialState(0.0, initialx, initialy, 0.0);
equationCanvas.setDomain(domainMaxx,domainMinx,domainMaxy,domainMiny);
equationCanvas.setTimeStep(stepSize);
//-----------------------------
// Create buttons if nessasary
//-----------------------------
if(buttonsOn) {
//-------------------------
// Parameter 1 = initial x
//-------------------------
Panel param1Panel = new Panel();
param1Panel.setLayout(new BorderLayout());
param1Panel.add("West", new Label("Initial position"));
positionText = new TextField(initialx+"", 8);
param1Panel.add("East", positionText);
//-------------------------
// Parameter 2 = initial y
//-------------------------
Panel param2Panel = new Panel();
param2Panel.setLayout(new BorderLayout());
param2Panel.add("West", new Label("Initial velocity"));
velocityText = new TextField(initialy+"", 8);
param2Panel.add("East", velocityText);
//----------------
// Panel Number 1
//----------------
Panel panelNo1 = new Panel();
panelNo1.setLayout(new BorderLayout());
panelNo1.add("North", param1Panel);
panelNo1.add("South", param2Panel);
//---------------------------------
// Parameter 3 = forcing amplitude
//---------------------------------
Panel param3Panel = new Panel();
param3Panel.setLayout(new BorderLayout());
param3Panel.add("West", new Label("forcing amplitude"));
forceAmpText = new TextField(forcingAmp+"", 8);
param3Panel.add("East", forceAmpText);
//---------------------------------
// Parameter 4 = forcing frequency
//---------------------------------
Panel param4Panel = new Panel();
param4Panel.setLayout(new BorderLayout());
param4Panel.add("West", new Label("forcing frequency"));
forceFreqText = new TextField(forcingFreq+"", 8);
param4Panel.add("East", forceFreqText);
//----------------
// Panel Number 2
//----------------
Panel panelNo2 = new Panel();
panelNo2.setLayout(new BorderLayout());
panelNo2.add("North", param3Panel);
panelNo2.add("South", param4Panel);
//----------------------------------
// Parameter 5 = dampening constant
//----------------------------------
Panel param5Panel = new Panel();
param5Panel.setLayout(new BorderLayout());
param5Panel.add("West", new Label("dampening constant"));
dampenText = new TextField(dampening+"", 8);
param5Panel.add("East", dampenText);
//----------------
// Panel Number 3
//----------------
Panel panelNo3 = new Panel();
panelNo3.setLayout(new BorderLayout());
panelNo3.add("North", param5Panel);
//-----------------------------------
// Input bar panel, user text boxes.
//-----------------------------------
Panel inputBar = new Panel();
inputBar.setLayout(new FlowLayout());
inputBar.add(panelNo1);
inputBar.add(panelNo2);
inputBar.add(panelNo3);
//-------------------------------------------
// Control Bar Panel, entire user interface.
//-------------------------------------------
Panel controlBar = new Panel();
controlBar.setLayout(new BorderLayout());
stopStart = new Button("Restart with new settings");
controlBar.add("North", stopStart);
controlBar.add("South", inputBar);
add("South", controlBar);
} else {
//-------------------------------------------------
// If interface is off, just add a restart button.
//-------------------------------------------------
add("South", new Button("Restart"));
}
add("Center",equationCanvas);
show();
}
//=====================================================================
// start
//
// Start the thread.
//=====================================================================
public void start() {
thread = new Thread(this);
thread.start();
}
//=====================================================================
// stop
//
// Stop the thread.
//=====================================================================
public void stop() {
if(thread != null) {
thread.stop();
thread = null;
}
}
//=====================================================================
// run
//
// Run the thread, this is the main loop of the applet.
//=====================================================================
public void run() {
while(true) {
try {
thread.sleep(25);
}catch(InterruptedException e) {
break;
}
equationCanvas.increment();
equationCanvas.repaint();
}
}
//=====================================================================
// handle action
//
// How to handle a button click.
//=====================================================================
public boolean action(Event evt, Object arg) {
if(evt.target instanceof Button) {
if(arg.equals("Restart with new settings")) {
double initx = Double.valueOf(positionText.getText()).doubleValue();
double inity = Double.valueOf(velocityText.getText()).doubleValue();
double fAmp = Double.valueOf(forceAmpText.getText()).doubleValue();
double fFreq = Double.valueOf(forceFreqText.getText()).doubleValue();
double damp = Double.valueOf(dampenText.getText()).doubleValue();
equationCanvas.setParams(damp, fAmp, fFreq);
equationCanvas.setInitialState(0.0, initx, inity, 0.0);
equationCanvas.restart();
} else if(arg.equals("Restart")) {
equationCanvas.restart();
}
return(true);
}
return(false);
}
}