# applet wird nicht angezeigt



## newby (5. Okt 2006)

hi, 
ich habe ein applet erstellt, kriege es aber nicht zu sehen, obwohl es fehlerfrei compiliert wird und auch schon fehlerfrei funktioniert hat. 
ich habe ,als es noch funktioniert hat, eine änderung vorgenommen und jetzt krieg ich die meldung fehler beim laden...
bin ratlos...
habe beide dateien im selben ordner liegen.

werde den code einfach mal posten, vielleicht findet jemand ja die zeit mal kurz drüberzusehen. wäre echt nett.
sieht zwar lang aus, ist aber ziemlich einfach.


*das applet macht folgendes:*

es berechnet die nächsten 12 öffnungszeiten eines vereinsbüros und zeigt sie im applet auf 12 labels an.
das büro ist immer am 1. samstag des monats und am 3. donnerstag des monats geöffnet. 
_dazu kommen noch 2 versammlungstermine am 2 samstag im oktober und am 2. samstag im märz (als ich die eingebaut habe ging nichts mehr). _
Der Fehler muss also irgendwo zwischen Zeile 47 bis Zeile 105 liegen. (denk ich zumindest, vielleicht liegt er auch wo ganz anders)

der htmlcode für die testeinbettung lautet (damit hate s ja schonmal funktioniert):


```
html>
<head></head>
<body>
<applet code="DATUM.class" 
width="500" 
height="600"> 
Hier sollte das Applet stehen! 
</applet>
</body>
</html>
```

und der java sourcecode ( hab ihn ziemlich ausführlich kommentiert ) 

```
import java.util.*;
import java.text.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;

public class DATUM extends JApplet {

    public void init() {
        //Farben definieren
        Color gelb = new Color(255, 240, 0);
        Color gruen = new Color(150,175,50);
        
        //formate festlegen
        SimpleDateFormat sdf1 = new SimpleDateFormat("' Samstag, der 'dd.MM.yyyy', geöffnet von 9.00 bis 12.00 Uhr'");
        SimpleDateFormat sdf2 = new SimpleDateFormat("      'Donnerstag, der ' dd.MM.yyyy' geöffnet von 17.00 bis 19.00 Uhr'");
        SimpleDateFormat sdf3 = new SimpleDateFormat("dd.MM.yyyy' , Frühjahrsversammlung'");
        SimpleDateFormat sdf4 = new SimpleDateFormat("dd.MM.yyyy' , Herbstversammlung'");
        
        Font sg1 = new Font ("SansSerif", Font.BOLD, 15); 
        Font sg2 = new Font ("Arial", Font.BOLD, 21);
        
        Border border = new LineBorder(gruen);
                
        Container c = getContentPane();  //link auf basiscontainer
        c.setLayout(new GridLayout(0,1,5,10)); // layout festlegen
        c.setBackground(gelb);
       
        //überschrift erzeugen
        JLabel ueberschrift = new JLabel("Unsere nächsten 12 Öffnungstermine");
        ueberschrift.setFont(sg2);
        ueberschrift.setHorizontalAlignment(JLabel.CENTER);
        c.add(ueberschrift);  //1.Button beschriften und basiscontainer hinzufügen
                  
        int i=0; //zählvariable für die 12 termine die angezeigt werden sollen 
        Calendar jetzt = Calendar.getInstance(); 
        JLabel [] feld = new JLabel [12];  // feld für buttonreferenzen
       
        while(i < 12) //ab hier werden 12 termine gesucht 
        {
          int samstag = Calendar.SATURDAY;  
          int donnerstag = Calendar.THURSDAY;  
          int maerz = Calendar.MARCH;
          int oktober = Calendar.OCTOBER;
          
          if(jetzt.get(jetzt.DAY_OF_WEEK) == samstag){    //prüfen ob aktueller tag ein samstag ist
          //prüfen ob der tag der 1. samstag des monats ist
             if(jetzt.get(jetzt.DAY_OF_MONTH)==1||
               jetzt.get(jetzt.DAY_OF_MONTH)==2||
               jetzt.get(jetzt.DAY_OF_MONTH)==3||
               jetzt.get(jetzt.DAY_OF_MONTH)==4|| 
               jetzt.get(jetzt.DAY_OF_MONTH)==5||
               jetzt.get(jetzt.DAY_OF_MONTH)==6||
               jetzt.get(jetzt.DAY_OF_MONTH)==7 )
          {             //falls es der erste samstag des monats ist wird hier ein neues label erzeugt und angezeigt:
              Date datum1 = jetzt.getTime();  
              feld[i] = new JLabel(sdf1.format(datum1));  // schaffe neues label mit datumsbeschriftung 
                                                                              //und speicherer referenz in feld
              feld[i].setFont(sg1);
              feld[i].setBorder(border);
              c.add(feld[i]);  // zeige button in applet
              jetzt.add(Calendar.DAY_OF_MONTH, 1);      // füge 1 tag hinzu
              i++;                                                         // weitersuchen(nächsten tag prüfen...)
          } 
        //prüfe ob der tag der 2.samstag im märz ist
             if
             ((jetzt.get(jetzt.MONTH) == maerz) &&
              (jetzt.get(jetzt.DAY_OF_MONTH)== 8||
               jetzt.get(jetzt.DAY_OF_MONTH)== 9||
               jetzt.get(jetzt.DAY_OF_MONTH)==10||
               jetzt.get(jetzt.DAY_OF_MONTH)==11|| 
               jetzt.get(jetzt.DAY_OF_MONTH)==12||
               jetzt.get(jetzt.DAY_OF_MONTH)==13||
               jetzt.get(jetzt.DAY_OF_MONTH)==14 ))
              { // falls ja, erzeuge label....
              Date datum3 = jetzt.getTime();  
              feld[i] = new JLabel(sdf3.format(datum3));  // schaffe neues label mit datumsbeschriftung 
                                                                              //und speicherer referenz in feld
              feld[i].setFont(sg1);
              feld[i].setBorder(border);
              c.add(feld[i]);                                            // zeige button in applet
              jetzt.add(Calendar.DAY_OF_MONTH, 1);      // füge 1 tag hinzu
              i++;                                                         // weitersuchen(nächsten tag prüfen...)
              }
             
             //prüfe ob der samstag der 2. samstag im oktober ist
             if
             ((jetzt.get(jetzt.MONTH) == oktober) &&
              (jetzt.get(jetzt.DAY_OF_MONTH)== 8||
               jetzt.get(jetzt.DAY_OF_MONTH)== 9||
               jetzt.get(jetzt.DAY_OF_MONTH)==10||
               jetzt.get(jetzt.DAY_OF_MONTH)==11|| 
               jetzt.get(jetzt.DAY_OF_MONTH)==12||
               jetzt.get(jetzt.DAY_OF_MONTH)==13||
               jetzt.get(jetzt.DAY_OF_MONTH)==14 ))
              {                                                              // falls ja, erzeuge label...
              Date datum4 = jetzt.getTime();  
              feld[i] = new JLabel(sdf4.format(datum4));  // schaffe neues label mit datumsbeschriftung 
                                                                              //und speicherer referenz in feld
              feld[i].setFont(sg1);
              feld[i].setBorder(border);
              c.add(feld[i]);                                            // zeige button in applet
              jetzt.add(Calendar.DAY_OF_MONTH, 1);       // füge 1 tag hinzu
              i++;                                                          // weitersuchen(nächsten tag prüfen...)
              }
             
          }// gehört zu beginn samstagsprobe
          

// nächster teil wie oben nur für dritten donnerstag im monat------------------------------------
          // prüfe ob tag dritter donnerstag im monat ist
          if 
             ((jetzt.get(jetzt.DAY_OF_WEEK) == donnerstag) &&     
              (jetzt.get(jetzt.DAY_OF_MONTH)==15||
               jetzt.get(jetzt.DAY_OF_MONTH)==16||
               jetzt.get(jetzt.DAY_OF_MONTH)==17||
               jetzt.get(jetzt.DAY_OF_MONTH)==18|| 
               jetzt.get(jetzt.DAY_OF_MONTH)==19||
               jetzt.get(jetzt.DAY_OF_MONTH)==20||
               jetzt.get(jetzt.DAY_OF_MONTH)==21 ) )
              {                                                               //falls ja, erzeuge label...
              Date datum2 = jetzt.getTime();
              feld[i] = new JLabel(sdf2.format(datum2));
              feld[i].setFont(sg1);
              feld[i].setBorder(border);
              c.add(feld[i]);
              jetzt.add(Calendar.DAY_OF_MONTH, 1);
              i++;
              }
                                        
            else
            {                                     //falls nicht der gewünschte tag, dann zähle weiter
                jetzt.add(Calendar.DAY_OF_MONTH, 1);
            }
        
        }                                         //ende whileschleife
        
        for (int u=0; u < 12; u++)                                  // fügt tooltiptext hinzu
        {
            feld[u].setToolTipText("Öffnungszeiten");
        }
    } // ende init()-methode
    
} // ende applet
```


----------



## Leroy42 (5. Okt 2006)

newby hat gesagt.:
			
		

> und jetzt krieg ich die meldung fehler beim laden...



Der genaue Wortlaut dieser Fehlermeldung ist das wichtigste.

Warum postest du ihn nicht?


----------



## EOB (5. Okt 2006)

hi, versuch mal so:


```
<applet code=DATUM width=500 height=600></applet>
```

uebrigens werden klassen in java nicht komplett gross geschrieben, also eher _Datum_. aber das ist eben nur ne empfehlung und hat den fehler sicherlich nicht verursacht!

gruesse


----------



## newby (5. Okt 2006)

die fehlermeldung hat : fehler beim laden des Java-Applets gelautet.
aber irgendwie geht es jetzt...ohne mein zutun. hab da schon nen ganzen tag mit zugebracht....
tja, göttliche fügung würd ich sagen. aber es zeigt mir jetzt an, dass sowohl am 8. als auch am 14. eine versammlung stattfinden soll, was falsch ist...nun gut, den fehler dürfte ich selbst finden.

trotzdem danke an euch beide.


----------



## Leroy42 (5. Okt 2006)

Mal für die Zukunft:



			
				newby hat gesagt.:
			
		

> die fehlermeldung hat : fehler beim laden des Java-Applets gelautet.



Das ist doch nur die Einleitung. Die Fehlerbeschreibung selbst kommt danach.
Mit Angabe der Art des Fehlers und der Quelltextzeile in dem der Fehler aufgetreten ist.


----------



## EOB (5. Okt 2006)

machmal reichts auch schon, den browser chache zu loeschen...evtl klappts ja jetzt deswegen. hatte das auch schon oft.

gruesse


----------



## L-ectron-X (5. Okt 2006)

newby hat gesagt.:
			
		

> fehler beim laden des Java-Applets


Das ist die Meldung in der Statuszeile des Internet Explorers, die nutzt bei der Fehlersuche kaum.
Öffne die Javakonsole, in ihr wirst du eine aussagekräftige Fehlermeldung finden.


----------

