Java-Applet geht nur auf meinem pc

Bäästy

Grünschnabel
Tja ich bin noch blutiger Anfänger in Sachen java
ich hab da ein paar heloworld und test applets geschrieben die auf meinem pc wunderbar funktionieren. (ich hab xp und hab des mit den browsern avant, ie, t-online und firefox getestet)
hier die seite:
http://aimlessband.ai.funpic.de/java/java.php

wenn ich des jetzt von einem anderen pc aufrufe können die applets plötzlich nicht angezeigt werden:confused:

des kann doch nur daran liegen das an diesem pc eine ältere java-version istalliert is als die mit der ich des kompiliert habe. aber is 1.6.0 nicht weit verbreitet? in welcher version sind die üblichen applets?

danke schon im voraus
 
Zuletzt bearbeitet:
Moin!
Also ich habe auch Java 1.6 hier, und es klappt ebenfalls nicht..
Wenn ich in die Java Console gucke, kommt da folgende Fehlermeldung:
Java Plug-in 1.6.0_02
Verwendung der JRE-Version 1.6.0_02 Java HotSpot(TM) Client VM



----------------------------------------------------
c: Konsole löschen
f: Objekte in Finalisierungswarteschlange finalisieren
g: Speicherbereinigung
h: Diese Hilfemeldung anzeigen
l: ClassLoader-Liste ausgeben
m: Speicherbelegung anzeigen
o: Protokollierung auslösen
p: Proxy-Konfiguration neu laden
q: Konsole ausblenden
r: Richtlinien-Konfiguration neu laden
s: System- und Bereitstellungseigenschaften ausgeben
t: Threadliste ausgeben
v: Thread-Stack ausgeben
x: ClassLoader-Cache löschen
0-5: Trace-Stufe auf <n> setzen
----------------------------------------------------
Laden: HelloWorld.class ist nicht öffentlich oder hat keinen öffentlichen Autor.
java.lang.IllegalAccessException: Class sun.applet.AppletPanel can not access a member of class HelloWorld with modifiers ""
at sun.reflect.Reflection.ensureMemberAccess(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Also, ist die Klasse HelloWorld öffentlich deklariert? (public) und heißt diese Klasse auch HelloWorld.class?

*grüssle*
MeinerEiner
 
ja des is alles public und die classe hat immer den gleichen namen wie die datei

bei mir am pc funktionierts ja also kann der fehler doch nicht im code liegen? oder ?:confused:
 
Ich bin selber nicht sonderlich fit mit Applets, aber vielleicht solltest du mal den Code posten...

*grüssle*
MeinerEiner
 
jo ok also ich hab da so ein símples übungs-applet zum malen :
Code:
import java.applet.*;
import java.awt.*;
public class malen extends Applet{
  Graphics zeichenbereich;
  int last_x=0;
  int last_y=0;
  int a,b,c,d;
  Button cButton;
  Choice cChoice;
  Choice aChoice;
  Color zColor=Color.black;
  int ak=1;

  public void init(){
    setBackground(Color.white);
    setForeground(Color.green);
    cButton=new Button("Neu!");
    add(cButton);
    cButton.resize (50,50);
    cButton.setBackground(Color.black);
    cButton.setForeground(Color.red);
    cChoice=new Choice();
    cChoice.addItem("Schwarz");
    cChoice.addItem("Weiß");
    cChoice.addItem("Blau");
    cChoice.addItem("Rot");
    cChoice.addItem("Gelb");
    cChoice.addItem("Grün");
    cChoice.setBackground(Color.black);
    cChoice.setForeground(Color.red);
    add(cChoice);
    aChoice=new Choice();
    aChoice.addItem("Freihand");
    aChoice.addItem("Linie");
    aChoice.addItem("Oval");
    aChoice.addItem("Rechteck");
    aChoice.addItem("Gefüllt Oval");
    aChoice.addItem("Gefüllt Rechteck");
    aChoice.addItem("Funny Line");
    aChoice.addItem("Funny Box");
    aChoice.addItem("Funny Oval");
    aChoice.setBackground(Color.black);
    aChoice.setForeground(Color.red);
    add(aChoice);
  }
  public boolean mouseDown(Event theEvent,int x,int y){
    last_x=x;
    last_y=y;
    return true;
  }
  public boolean mouseUp(Event theEvent,int x,int y){
    zeichenbereich=getGraphics();
    zeichenbereich.setColor(zColor);
    if ((last_x-x)<0) {c=x-last_x;a=last_x;} else {c=last_x-x;a=x;}
    if ((last_y-y)<0) {d=y-last_y;b=last_y;} else {d=last_y-y;b=y;}
    if(ak==2) zeichenbereich.drawLine(x,y,last_x,last_y);
    if(ak==3) zeichenbereich.drawOval(a,b,c,d);
    if(ak==4) zeichenbereich.drawRect(a,b,c,d);
    if(ak==5) zeichenbereich.fillOval(a,b,c,d);
    if(ak==6) zeichenbereich.fillRect(a,b,c,d);
    last_x=x;
    last_y=y;
    return true;
  }
  public boolean mouseDrag(Event theEvent,int x,int y){
    if((ak==1)||(ak==7)){
      zeichenbereich=getGraphics();
      zeichenbereich.setColor(zColor);
      zeichenbereich.drawLine(last_x,last_y,x,y);
      if(ak==1){
        last_x=x;
        last_y=y;
      }
    }
    if((ak==8)||(ak==9)){
      zeichenbereich=getGraphics();
      zeichenbereich.setColor(zColor);
      if ((last_x-x)<0) {c=x-last_x;a=last_x;} else {c=last_x-x;a=x;}
      if ((last_y-y)<0) {d=y-last_y;b=last_y;} else {d=last_y-y;b=y;}
      if (ak==8) zeichenbereich.drawRect(a,b,c,d);
      if (ak==9) zeichenbereich.drawOval(a,b,c,d);
    }
    return true;
  }
  public boolean action(Event evt, Object arg){
    if(evt.target instanceof Button){
      String Knopf=arg.toString();
      if(Knopf=="Neu!"){
        Graphics g=this.getGraphics();
        g.setColor(Color.white);
        g.fillRect(0,0,800,800);
      }
    }
    if(evt.target instanceof Choice){
      String eint=arg.toString();

      if(eint=="Schwarz") zColor=Color.black;
      if(eint=="Weiß") zColor=Color.white;
      if(eint=="Blau") zColor=Color.blue;
      if(eint=="Rot") zColor=Color.red;
      if(eint=="Gelb") zColor=Color.yellow;
      if(eint=="Grün") zColor=Color.green;

      if(eint=="Freihand") ak=1;
      if(eint=="Linie") ak=2;
      if(eint=="Oval") ak=3;
      if(eint=="Rechteck") ak=4;
      if(eint=="Gefüllt Oval") ak=5;
      if(eint=="Gefüllt Rechteck") ak=6;
      if(eint=="Funny Line") ak=7;
      if(eint=="Funny Box") ak=8;
      if(eint=="Funny Oval") ak=9;
    }      
    return false;
  }
}

und noch so ein heloword:

Code:
import java.applet.*;
import java.awt.*;
public class chelas1 extends java.applet.Applet{
  Font f = new Font("TimesRoman", Font.BOLD,36);
  public void paint(Graphics g){
    g.setFont(f);
    g.setColor(Color.black);
    g.drawString("Hello Chelasss!!",1,22);
    g.setColor(Color.red);
    g.drawString("Hello Chelasss!!",2,25);
  }
}
 
Hm, also laut der Fehlermeldung
Laden: HelloWorld.class ist nicht öffentlich oder hat keinen öffentlichen Autor.
muesste deine Klasse ja HelloWorld heissen?!
Aber laut dem code
public class chelas1 extends java.applet.Applet
chelas1 ?! oder seh ich da was falsch?
 
Das Applet, was wohl den Fehler verursacht, das fehlt leider. Dabei wäre das doch interessant gewesen ;)

Hast du es bei dir am PC auch online getestet, oder nur lokal?

*grüssle*
MeinerEiner
 
ne die classe heißt schon auch chelas1.class ich habs ja auch auf meinen funpic webspace kopiert (da hab ich oben den link dazu) und bei mir gings wunderbar mit al meinen browsern
 
Ja, aber du hast auf deiner Seite ein Applet names "HelloWorld" eingebunden.

Bei mir werden auch alle Appelts angezeigt, bis eben auf dieses. Und das würde wir gerne mal sehen! Und nochmal zur Verdeutlichung.. HelloWorld.class muss ein Applet names HelloWord beinhalten!

*grüssle*
MeinerEiner
 
Zurück