Hey,
Ich habe mir ein Programm für eine analoge Uhr geschrieben und dabei die JGUItoolbox verwenet (ist vielleicht jemandem ein Begriff). Jetzt möchte ich mein Programm optimieren und verkürzen. Wäre nett wen jemand mal drüberschaun könnte und Verkürzungsvorschläge liefern könnt.
Schon mal vielen Dank im Voraus.
PS: Mein Ziel wäre unter 100 Zeilen.
Ich habe mir ein Programm für eine analoge Uhr geschrieben und dabei die JGUItoolbox verwenet (ist vielleicht jemandem ein Begriff). Jetzt möchte ich mein Programm optimieren und verkürzen. Wäre nett wen jemand mal drüberschaun könnte und Verkürzungsvorschläge liefern könnt.
Java:
public class analog extends Zeichnung
{
public Rechteck hinten=new Rechteck(0,0,641,641);
public Bild Uhr=new Bild(0,0,600,600,"Prag_Uhr.jpg");
public Kreis Hintergrund= new Kreis(0,0,300);
public AusgabePanel Tag=new AusgabePanel("Tag",367,275,50,50);
public AusgabePanel Wochentag=new AusgabePanel("WT",417,275,50,50);
public Linie sekunde= new Linie(600,300,300,300);
public Linie minute= new Linie(600,300,300,300);
public Linie stunde= new Linie(500,300,300,300);
public Kreis Mittelkreis= new Kreis(285,285,15);
public ChkTaste umstellen=new ChkTaste("",290,290,20,20);
public String day;
public int DAY;
double x_s;
double y_s;
double cos_s;
double sin_s;
int x_s_i;
int y_s_i;
double p;
double j2;
double x_m;
double y_m;
double cos_m;
double sin_m;
int x_m_i;
int y_m_i;
double j3;
double j4;
double j5;
double j6;
double j7;
double x_h;
double y_h;
double cos_h;
double sin_h;
int x_h_i;
int y_h_i;
int g;
double gh;
public analog()
{
g=300;
gh=g*0.66;
setSize(645,660);
Hintergrund.setzeFarbe("weiss");
hinten.setzeFarbe("schwarz");
sekunde.setzeFarbe("rot");
minute.setzeFarbe("gruen");
stunde.setzeFarbe("gruen");
stunde.setzeLinienDicke(10);
Hintergrund.unsichtbarMachen();
Tag.setzeHintergrundfarbe("schwarz");
Wochentag.setzeHintergrundfarbe("schwarz");
Tag.setzeSchriftfarbe("weiss");
Wochentag.setzeSchriftfarbe("weiss");
p=java.lang.Math.PI;
Uhr.einpassen();
einsetzen();
}
public void umstellen_weiss()
{
minute.setzeFarbe("schwarz");
stunde.setzeFarbe("schwarz");
Hintergrund.sichtbarMachen();
Uhr.unsichtbarMachen();
einsetzen();
}
public void umstellen_prag()
{
minute.setzeFarbe("gruen");
stunde.setzeFarbe("gruen");
Hintergrund.unsichtbarMachen();
Uhr.sichtbarMachen();
einsetzen();
}
public void einsetzen()
{
while(true)
{
day="";
StaticTools.warte(1000);
minute(StaticTools.jetzt_Minute());
sekunde(StaticTools.jetzt_Sekunde());
stunde(StaticTools.jetzt_Stunde());
Tag(StaticTools.jetzt_Tag());
WT(StaticTools.jetzt_WochenTag());
if(umstellen.istGewaehlt())
{umstellen_weiss();}else
if(!umstellen.istGewaehlt())
{umstellen_prag();}
}
}
public void Tag(int d)
{
day=""+d;
Tag.setzeAusgabetext(day);
}
public void WT(int d)
{
if(d==1)
Wochentag.setzeAusgabetext("SO");
if(d==2)
Wochentag.setzeAusgabetext("MO");
if(d==3)
Wochentag.setzeAusgabetext("DI");
if(d==4)
Wochentag.setzeAusgabetext("MI");
if(d==5)
Wochentag.setzeAusgabetext("DO");
if(d==6)
Wochentag.setzeAusgabetext("FR");
if(d==7)
Wochentag.setzeAusgabetext("SA");
}
public void sekunde(double j)
{
j3=j-15;
j2=(j3/60)*2*p;
sin_s = Math.sin(j2);
cos_s = Math.cos(j2);
y_s=g+cos_s*g;
x_s=g+sin_s*g;
x_s_i=(int)x_s;
y_s_i=(int)y_s;
sekunde.setzeEndpunkte(y_s_i,x_s_i,g,g);
}
public void minute(double j)
{
j5=j-15;
j4=(j5/60)*2*p;
sin_m = Math.sin(j4);
cos_m = Math.cos(j4);
y_m=g+cos_m*g;
x_m=g+sin_m*g;
x_m_i=(int)x_m;
y_m_i=(int)y_m;
minute.setzeEndpunkte(y_m_i,x_m_i,g,g);
}
public void stunde(double j)
{
j7=j-15;
j6=(j7/12)*2*p;
sin_h = Math.sin(j6);
cos_h = Math.cos(j6);
y_h=g+cos_h*gh;
x_h=g+sin_h*gh;
x_h_i=(int)x_h;
}
}
Schon mal vielen Dank im Voraus.
PS: Mein Ziel wäre unter 100 Zeilen.
Zuletzt bearbeitet: