# Fehler in Uhrzeitapplet (vor ein paar tagen gings noch)



## TBC (4. Dez 2004)

Hi ich habe ein Uhrenapplet aus einem Buch (Java 2 in 21 Tagen) abgeschrieben. Ich wollte die Uhr aber ein wenig verändern und habe den Code dementsprechend umgeschrieben:


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

public class WebSiteUhr extends javax.swing.JApplet {

    private String lastTime = " ";

    public void init() {

        setBackground(Color.red);
    }

    public void paint(Graphics screen) {
        
        GregorianCalendar uhr = new GregorianCalendar();
        String wochentage[] = { "SA", "SO", "MO", "DI", "MI", "DO", "FR" };
        String wochentag = wochentage[uhr.get(Calendar.DAY_OF_WEEK)] + " der ";
        String tag = "";
        int monate = 0;
        String monat = "";
        String jahr = uhr.get(Calendar.YEAR) + " um ";
        String stunde = "";
        String minute = "";
        String sekunde = "";
        Graphics2D screen2D = (Graphics2D)screen;
        Font type = new Font("Serif", Font.BOLD + Font.ITALIC, 16); 
        screen2D.setFont(type);
        if (uhr.get(Calendar.DAY_OF_MONTH) < 10) {
            tag = "0" + uhr.get(Calendar.DAY_OF_MONTH) + ".";
        }
        else {
            tag = uhr.get(Calendar.DAY_OF_MONTH) + ".";
        }
        if (uhr.get(Calendar.MONTH) < 10) {
            monate = uhr.get(Calendar.MONTH) + 1;
            monat = monat + ".";
        }
        else {
            monat = uhr.get(Calendar.MONTH) + ".";
        }
        if (uhr.get(Calendar.HOUR_OF_DAY) < 10) {
            stunde = "0" + uhr.get(Calendar.HOUR_OF_DAY) + ":";
        }
        else {
            stunde = uhr.get(Calendar.HOUR_OF_DAY) + ":";
        }
        if (uhr.get(Calendar.MINUTE) < 10) {
            minute = "0" + uhr.get(Calendar.MINUTE) + ":";
        }
        else {
            minute = uhr.get(Calendar.MINUTE) + ":";
        }
        if (uhr.get(Calendar.SECOND) < 10) {
            sekunde = "0" + uhr.get(Calendar.SECOND);
        }
        else {
            sekunde = uhr.get(Calendar.SECOND) + "";
        }
        String time = wochentag + tag + monat + jahr + stunde + minute + sekunde;
        screen2D.setColor(Color.red);
        screen2D.drawString(lastTime, 0, 25);
        screen2D.setColor(Color.black);
        screen2D.drawString(time, 0, 25);
        try {
            Thread.sleep(100);
        }
        catch (Exception e) {
        }
        lastTime = time;
        repaint();
    }
}
```

Nach meinem Kenntnisstand müsste das eigentlich funktionieren. Aber wenn das Applet in meine HP einbaue bekomme ich nur ein rotes Kästchen ohne irgendwas drin stehen.


----------



## L-ectron-X (5. Dez 2004)

Ich habs mal kompiliert und probiert - es lief. Kann Dein Problem nicht nachvollziehen.
Lösche mal den Browser-Cache und lade die Seite noch mal.


----------



## TBC (5. Dez 2004)

Hm sehr komisch. Bei mir läuft es auch wieder. Ich hab aber nichts großartiges verändert! Jetzt hab ich es auf einen anderen Computer getestet (einmal mit IE, einmal mit Firefox), da wurde es dann wieder nicht angezeigt. Versteh ich net  ???:L


----------



## Roar (5. Dez 2004)

wird vielleicht ine exception geworfen?


----------



## TBC (5. Dez 2004)

Wie meinst du das? Aber wenns bei L-ectron-X funktioniert, dann hab ich es vielleicht falsch eingebaut!? Ist aber unwahrscheinlich, da es bei mir jetzt (wieder) läuft. Hab es mittlerweile noch auf einen dritten PC mit IE und Firefox getestet und da gehts auch nicht ...  :bahnhof:


----------



## L-ectron-X (5. Dez 2004)

Es ist schon komisch. Ich habs eben noch mal kompiliert und gestartet, da gings nicht. Nur eine leere rote Appletfläche.


----------



## Griffin (5. Dez 2004)

Die rote Appletfläche ruührt daher, dass beim initalisieren der Hintergrund auf rot gestellt wird. Danach wird aber anscheinend die paint-Methode nicht ausgeführt. Warum? Dass könnt ihr euch jetzt überlegen


----------



## TBC (5. Dez 2004)

Ja manchmal gehts und manchmal nicht ...! Ich hab schon gedacht, ich bin blöd.

@ Griffin, weißt du warum es net geht?


----------



## TBC (5. Dez 2004)

@ Griffin wenn deine Vermutung stimmt, dann müsste ja, wenn ich den Befehl


```
setBackground(Color.red);
```

in die paint-Methode setze gar kein Bild oder alles angezeigt werden. Wenn ich das aber mache, bekomme ich bei mir alles (wie seit kurzem immer) und auf einem anderen Computer wieder nur eine rote Hintergrundfläche angezeigt. Also wird die paint-Methode ausgeführt. Fragt sich nur, wo dann der Fehler liegt.


----------



## TBC (7. Dez 2004)

hat keiner mehr eine Idee?


----------



## Guest (7. Dez 2004)

Scheint als hätte sich das Problem von alleine gelöst! Hab den Code ein bisschen abgeändert, dann gings allerdings immer noch nicht, aber jetzt geht es komischerweiße auf allen 3 Test PCs währe aber schön wenn sich noch jemand die Zeit nehmen würde um den Code auf seinem Computer zu testen


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

public class WebSiteUhr extends javax.swing.JApplet {

    private String lastTime = " ";

    public void init() {
        
        setBackground(Color.red);
    }

    public void paint(Graphics screen) {
        
        GregorianCalendar uhr = new GregorianCalendar();
        String wochentage[] = { "SA", "SO", "MO", "DI", "MI", "DO", "FR" };
        String wochentag = wochentage[uhr.get(Calendar.DAY_OF_WEEK)] + " der ";
        String tag = "";
        int monate = 0;
        String monat = "";
        String jahr = uhr.get(Calendar.YEAR) + " um ";
        String stunde = "";
        String minute = "";
        String sekunde = "";
        Graphics2D screen2D = (Graphics2D)screen;
        Font type = new Font("Serif", Font.BOLD, 16); 
        screen2D.setFont(type);
        if (uhr.get(Calendar.DAY_OF_MONTH) < 10) {
            tag = "0" + uhr.get(Calendar.DAY_OF_MONTH) + ".";
        }
        else {
            tag = uhr.get(Calendar.DAY_OF_MONTH) + ".";
        }
        monate = uhr.get(Calendar.MONTH) + 1;
        if (monate < 10) {
            monat = "0" + monate + ".";
        }
        else {
            monat = monate + ".";
        }
        if (uhr.get(Calendar.HOUR_OF_DAY) < 10) {
            stunde = "0" + uhr.get(Calendar.HOUR_OF_DAY) + ":";
        }
        else {
            stunde = uhr.get(Calendar.HOUR_OF_DAY) + ":";
        }
        if (uhr.get(Calendar.MINUTE) < 10) {
            minute = "0" + uhr.get(Calendar.MINUTE) + ":";
        }
        else {
            minute = uhr.get(Calendar.MINUTE) + ":";
        }
        if (uhr.get(Calendar.SECOND) < 10) {
            sekunde = "0" + uhr.get(Calendar.SECOND);
        }
        else {
            sekunde = uhr.get(Calendar.SECOND) + "";
        }
        String time = wochentag + tag + monat + jahr + stunde + minute + sekunde + " ";
        screen2D.setColor(Color.red);
        screen2D.drawString(lastTime, 0, 25);
        screen2D.setColor(Color.black);
        screen2D.drawString(time, 0, 25);
        try {
            Thread.sleep(100);
        }
        catch (Exception e) {
        }
        lastTime = time;
        repaint();
    }
}
```


----------



## Illuvatar (7. Dez 2004)

Bei mir tut es


----------



## TBC (7. Dez 2004)

Danke, will sonst noch jemand testen?


----------



## The_S (9. Dez 2004)

Also bei mir läufts auch


----------



## Dreezard (9. Dez 2004)

Also bei mir läuft es unter Opera und Firefox, allerdings nicht unter dem Konqueror


----------



## TBC (9. Dez 2004)

Hä? Sowas gabs bis jetzt ja noch gar nicht! Wenn ich es auf einen Computer gestestet habe, dann lief es entweder auf allen Browsern oder auf gar keinen, aber das es auf zwei lief und auf einen net ist noch nie passiert (vor alle mist das auch ziemlich unglogisch). Aber Danke, dass du es auch mal jemand unter Linux getestet hast (Konqueror ist doch Linux oder?). Hat vielleicht jemand Erfahrung mit dem Problem oder weiß woran es liegen könnte?


----------



## The_S (9. Dez 2004)

Also bei mir läufts unter Opera, Firefox, Mozilla und IE (hab mir auch ne kleine Auswahl zum testen meiner HP geladen   )


----------



## TBC (11. Dez 2004)

Jetzt geht es auf einmal wieder nicht mehr! Ich denke mal dass es (da ich nichts verändert oder neu complimiert habe) mit meinem html Code zu tun hat! Ich poste jetzt einfach mal meinen Code, mal sehen ob jemand einen Fehler findet.

Ps: Habs net in Html programmiert sondern mit Word 2000


```
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 9">
<meta name=Originator content="Microsoft Word 9">
<base target=MainFrame>
<link rel=File-List href="./TOCFrame-Dateien/filelist.xml">
<link rel=Edit-Time-Data href="./TOCFrame-Dateien/editdata.mso">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<title>Diese Webseite ist Home</title>
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author>Zoda²</o:Author>
  <o:LastAuthor>Zoda²</o:LastAuthor>
  <o:Revision>12</o:Revision>
  <o:Created>2004-10-11T14:52:00Z</o:Created>
  <o:LastSaved>2004-12-11T14:27:00Z</o:LastSaved>
  <o:Pages>1</o:Pages>
  <o:Words>33</o:Words>
  <o:Characters>191</o:Characters>
  <o:Company>Zoda² GmbH & Kot Kacke</o:Company>
  <o:Lines>1</o:Lines>
  <o:Paragraphs>1</o:Paragraphs>
  <o:CharactersWithSpaces>234</o:CharactersWithSpaces>
  <o:Version>9.2812</o:Version>
 </o:DocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:HyphenationZone>21</w:HyphenationZone>
 </w:WordDocument>
</xml><![endif]-->
<style>
<!--
 /* Font Definitions */
@font-face
	{font-family:"Bauhaus 93";
	panose-1:4 3 9 5 2 11 2 2 12 2;
	mso-font-charset:0;
	mso-generic-font-family:decorative;
	mso-font-pitch:variable;
	mso-font-signature:3 0 0 0 1 0;}
 /* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0cm;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
h1
	{mso-style-next:Standard;
	margin:0cm;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:1;
	font-size:14.0pt;
	mso-bidi-font-size:12.0pt;
	font-family:"Bauhaus 93";
	mso-font-kerning:0pt;
	mso-ansi-language:EN-US;
	font-weight:normal;}
h3
	{mso-style-next:Standard;
	margin-top:12.0pt;
	margin-right:0cm;
	margin-bottom:3.0pt;
	margin-left:0cm;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:3;
	font-size:13.0pt;
	font-family:Arial;}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;
	text-underline:single;}
@page Section1
	{size:595.3pt 841.9pt;
	margin:70.85pt 70.85pt 2.0cm 70.85pt;
	mso-header-margin:35.4pt;
	mso-footer-margin:35.4pt;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1027">
  <o:colormenu v:ext="edit" fillcolor="red"/>
 </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1"/>
 </o:shapelayout></xml><![endif]-->
</head>

<body bgcolor=red lang=DE link=blue vlink=purple style='tab-interval:35.4pt'>

<div class=Section1>

<h3 align=center style='margin-top:0cm;text-align:center'><u><span lang=EN-US
style='font-size:16.0pt;mso-bidi-font-size:13.0pt;font-family:"Bauhaus 93";
color:black;mso-ansi-language:EN-US'>Directory<o:p></o:p></span></u></h3>

<p class=MsoNormal style='tab-stops:list 36.0pt'>

<applet code="WebSiteUhr.class" height="40" width="215">
</applet>

</p>

<p class=MsoNormal style='tab-stops:list 36.0pt'><span lang=EN-US
style='font-size:14.0pt;mso-bidi-font-size:12.0pt;font-family:"Bauhaus 93";
color:blue;mso-ansi-language:EN-US'><![if !supportEmptyParas]>&<![endif]><o:p></o:p></span></p>

<p class=MsoNormal style='tab-stops:list 36.0pt'><span lang=EN-US
style='font-size:14.0pt;mso-bidi-font-size:12.0pt;font-family:"Bauhaus 93";
color:blue;mso-ansi-language:EN-US'>[url="Home.htm"]Home[/url]<o:p></o:p></span></p>

<p class=MsoNormal style='tab-stops:list 36.0pt'><span lang=EN-US
style='font-size:14.0pt;mso-bidi-font-size:12.0pt;font-family:"Bauhaus 93";
color:blue;mso-ansi-language:EN-US'>[url="Bilder.html"]Bilder[/url]<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:14.0pt;mso-bidi-font-size:12.0pt;
font-family:"Bauhaus 93";color:blue'><a href="Julia.html"><span lang=EN-US
style='mso-ansi-language:EN-US'>Julia</span></a></span><span lang=EN-US
style='font-size:14.0pt;mso-bidi-font-size:12.0pt;font-family:"Bauhaus 93";
color:blue;mso-ansi-language:EN-US'><o:p></o:p></span></p>

<p class=MsoNormal><a href="Gimmicks.html"><span lang=EN-US style='font-size:
14.0pt;mso-bidi-font-size:12.0pt;font-family:"Bauhaus 93";mso-ansi-language:
EN-US'>Gimmicks</span></a><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><![if !supportEmptyParas]>&<![endif]><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><![if !supportEmptyParas]>&<![endif]><o:p></o:p></span></p>

<p class=MsoNormal align=center style='text-align:center'><u><span
style='font-size:14.0pt;mso-bidi-font-size:12.0pt;font-family:"Bauhaus 93"'>Geeignet
für:<o:p></o:p></span></u></p>

<p class=MsoNormal><span style='font-size:14.0pt;mso-bidi-font-size:12.0pt;
font-family:"Bauhaus 93"'><![if !supportEmptyParas]>&<![endif]><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:14.0pt;mso-bidi-font-size:12.0pt;
font-family:"Bauhaus 93"'>Internet Explorer<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:14.0pt;mso-bidi-font-size:12.0pt;
font-family:"Bauhaus 93"'>Firefox<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:14.0pt;mso-bidi-font-size:12.0pt;
font-family:"Bauhaus 93"'>Mozilla<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:14.0pt;mso-bidi-font-size:12.0pt;
font-family:"Bauhaus 93"'><![if !supportEmptyParas]>&<![endif]><o:p></o:p></span></p>

<p class=MsoNormal align=center style='text-align:center'><u><span
style='font-size:14.0pt;mso-bidi-font-size:12.0pt;font-family:"Bauhaus 93"'>Bedingt
Geeignet für :<o:p></o:p></span></u></p>

<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:14.0pt;mso-bidi-font-size:12.0pt;font-family:"Bauhaus 93"'><![if !supportEmptyParas]>&<![endif]><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:14.0pt;mso-bidi-font-size:12.0pt;
font-family:"Bauhaus 93"'>Opera</span></p>

</div>

</body>

</html>
```

Achja es ist das Frame links auf der Seite (wird immer angezeigt)


----------



## The_S (11. Dez 2004)

Hab mir grad nochmal deinen Code angeguckt und festgestellt, warum es mal geht und mal nicht geht. Dein Code:


```
String[] wochentage = { "SA", "SO", "MO", "DI", "MI", "DO", "FR" }
String wochentag = wochentage[uhr.get(Calendar.DAY_OF_WEEK)] + " der ";
```

probier es mal mit:


```
String[] wochentage = { "", "SO", "MO", "DI", "MI", "DO", "FR", "SA" }
String wochentag = wochentage[uhr.get(Calendar.DAY_OF_WEEK)] + " der ";
```

Erklärung: Der GregorianCalendar setzt für die Tage Sonntag bis Samstag die Zahlen 1 - 7. Ein Array beginnt aber immer mit 0! Deswegen geht es auch manchmal und manchmal nicht.


----------



## TBC (18. Dez 2004)

Ich war länger nimmer da, aber es funzt! Danke!  :toll:  :applaus:


----------

