Hallo an alle,
habe ein Problem damit, mein Applet in eine Website einzubauen. In Netbeans läuft das Applet, und andere Applet-Beispiele aus dem Netz laufen auch auf der Website.
Hab den Verdacht, dass es entweder an der Java-Version liegt in der das Applet geschrieben ist oder an dem Package ... Weiß aber net wie ich das rausbekommen soll und was ich dagegen tun könnte . Bin dankbar für jede Hilfe.
So versuche ich das einzubinden :
Fehlermeldung im Browser lautet :
habe ein Problem damit, mein Applet in eine Website einzubauen. In Netbeans läuft das Applet, und andere Applet-Beispiele aus dem Netz laufen auch auf der Website.
Hab den Verdacht, dass es entweder an der Java-Version liegt in der das Applet geschrieben ist oder an dem Package ... Weiß aber net wie ich das rausbekommen soll und was ich dagegen tun könnte . Bin dankbar für jede Hilfe.
So versuche ich das einzubinden :
HTML:
<applet code="parametervariieren.class" codebase="http://file1.npage.de/011121/38/html" width="400" height="400" applet=""></applet>
Fehlermeldung im Browser lautet :
Code:
Java-Plug-in 1.5.0_30
Verwendung der JRE-Version 1.5.0_30-b03-389-9M3425 Java HotSpot(TM) Client VM
Home-Verzeichnis des Benutzers = /Users/mustermann
Java:
package normalverteilung;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.text.*;
import javax.swing.JApplet;
/**
*
* @author ...
*/
public class ParameterVariieren extends JApplet
{
public Dimension appSize;
public int appWidth;
public int appHeight;
public double mü;
public double varianz;
public final double müMax = 3;
public final double varianzMax = 3;
public final double varianzMin = 1;
public final int graphPunkte = 100;//Anzahl der Punkte des Graphen
public final double pMax = 0.4;//größter dargestellter p-Wert
public final double zMax = 3;//größter dargestellter z-Wert
public final int pTeilung = 10;//Anzahl der Unterteilungen der p-Achse
public final int zTeilung = 17;//Anteil der Unterteilungen der z-Achse
public double[] zWerte;
public int[] xPos;//x-Position der Graphen-Punkte
public int[] yPos;//y-Position der Graphen-Punkte
public int müLabelNumber;//Position der müAnzeige im Contenpane
public int varianzLabelNumber;//Position der varianzAnzeige im Contenpane
@Override
public void init()
{
setSize(new Dimension(600, 400));
appSize = getSize();
appWidth = getWidth();
appHeight = getHeight();
//Initialisiere Array von z-Werten zum Berechnen der p-Werte
zWerte = new double[graphPunkte];
double zSchrittweite = 2 * zMax / graphPunkte;
for(int i = 0; i < graphPunkte; i++)
zWerte[i] = -zMax + i * zSchrittweite;
//Initialisiere Array mit xPositionen der Graph-Punkte
xPos = new int[graphPunkte];
int xSchrittweite = appWidth / graphPunkte;
for(int i = 0; i < graphPunkte; i++)
xPos[i] = xSchrittweite * i;
//Setze Startwerte der Verteilung
setMü(0);
setVarianz(1);
setBackground(Color.yellow);
setLayout(new GridBagLayout());
//Zeichenfläche für Funktionsgraph hinzufügen
GridBagConstraints top = new GridBagConstraints();
top.gridx = 0;
top.gridy = 0;
top.gridwidth = 3;
top.fill = GridBagConstraints.BOTH;
Koordinatensystem koord = new Koordinatensystem();
add(koord, top);
//Mü-Label hinzufügen
GridBagConstraints midleft = new GridBagConstraints();
midleft.gridx = 0;
midleft.gridy = 1;
JLabel müLabel = new JLabel("Erwartungswert \u03BC : ");
add(müLabel, midleft);
//Anzeige für aktuelles Mü hinzufügen
GridBagConstraints midmid = new GridBagConstraints();
midmid.gridx = 1;
midmid.gridy = 1;
JLabel müAktuell = new JLabel();
müLabelNumber = getContentPane().getComponentCount();
add(müAktuell, midmid);
aktualisiereMüAnzeige();
//Schieberegler für Mü hinzufügen
GridBagConstraints midright = new GridBagConstraints();
midright.gridx = 2;
midright.gridy = 1;
midright.fill = GridBagConstraints.HORIZONTAL;
JSlider müEinstellen = new JSlider((int)(- müMax * 10), (int)(müMax * 10), 0);
müEinstellen.setMajorTickSpacing(3);
müEinstellen.setPaintTicks(true);
müEinstellen.addChangeListener(new müListener());
add(müEinstellen, midright);
//SigmaQuadrat-Label hinzufügen
GridBagConstraints bottomleft = new GridBagConstraints();
bottomleft.gridx = 0;
bottomleft.gridy = 2;
bottomleft.anchor = GridBagConstraints.EAST;
JLabel sigma = new JLabel("Varianz \u03C3\u00B2 : ");
add(sigma, bottomleft);
//Anzeige für aktuelles SigmaQuadrat hinzufügen
GridBagConstraints bottommid = new GridBagConstraints();
bottommid.gridx = 1;
bottommid.gridy = 2;
JLabel sigmaAktuell = new JLabel();
varianzLabelNumber = getContentPane().getComponentCount();
add(sigmaAktuell, bottommid);
aktualisiereVarianzAnzeige();
//Schieberegler für SigmaQuadrat hinzufügen
GridBagConstraints bottomright = new GridBagConstraints();
bottomright.gridx = 2;
bottomright.gridy = 2;
bottomright.fill = GridBagConstraints.HORIZONTAL;
JSlider varianzEinstellen = new JSlider((int)(varianzMin*10), (int)(varianzMax * 10), (int)(varianzMax/2 * 10));
varianzEinstellen.setMajorTickSpacing(1);
varianzEinstellen.setPaintTicks(true);
varianzEinstellen.addChangeListener(new VarianzListener());
add(varianzEinstellen, bottomright);
}
public void setMü(double mü)
{
this.mü = mü;
//Initialisiere Array mit yPositionen der GraphPunkte
yPos = new int[graphPunkte];
double pInY = getHeight() / pMax;//Konstante zur Umrechnung von p-Wert auf Y-Wert
for(int i = 0; i < graphPunkte; i++)
yPos[i] = (int)(getHeight() - dichteFunktion(zWerte[i])* pInY);
repaint();
}
public void setVarianz(double varianz)
{
this.varianz = varianz;
//Initialisiere Array mit yPositionen der GraphPunkte
yPos = new int[graphPunkte];
double pInY = getHeight() / pMax;//Konstante zur Umrechnung von p-Wert auf Y-Wert
for(int i = 0; i < graphPunkte; i++)
yPos[i] = (int)(getHeight() - dichteFunktion(zWerte[i])* pInY);
repaint();
}
public void aktualisiereMüAnzeige()
{
DecimalFormat form = new DecimalFormat("' '0.0;-0.0");
String müAnzeigeNeu = form.format(mü);
((JLabel)(getContentPane().getComponent(müLabelNumber))).setText(müAnzeigeNeu);
}
public void aktualisiereVarianzAnzeige()
{
DecimalFormat form = new DecimalFormat("' '0.0");
String varianzAnzeigeNeu = form.format(varianz);
((JLabel)getContentPane().getComponent(varianzLabelNumber)).setText(varianzAnzeigeNeu);
}
public double dichteFunktion(double x)
{
return
Math.exp(- Math.pow(x - mü, 2) / (2 * varianz))
/ Math.sqrt(2 * Math.PI * varianz);
}
public class Koordinatensystem extends JPanel
{
public Koordinatensystem()
{
setBackground(Color.GREEN);
setPreferredSize(new Dimension(appWidth, appHeight * 2/3));
}
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(Color.BLUE);
g.drawPolyline(xPos, yPos, graphPunkte);
}
}
public class müListener implements ChangeListener
{
public void stateChanged(ChangeEvent e)
{
double müNeu = ((JSlider)(e.getSource())).getValue();
müNeu /= 10;
setMü(müNeu);
aktualisiereMüAnzeige();
}
}
public class VarianzListener implements ChangeListener
{
public void stateChanged(ChangeEvent e)
{
double varianzNeu = ((JSlider)(e.getSource())).getValue();
varianzNeu /= 10;
setVarianz(varianzNeu);
aktualisiereVarianzAnzeige();
}
}
}