Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
"this.addWindowListener(new windowClosingAdapter(true));
/* GrafikBeispiel.java */
import java.awt.*;
import java.awt.event.*;
import java.util.Calendar;
import javax.swing.*;
public class Anwendung1 extends Frame implements ActionListener {
private int coordsPointer = 0;
private Integer[][] coords = new Integer[][]{{50,250},{90,190}, {130,130}, {180,80}, {240,50}, {300, 30},
{360,30}, {420,50}, {470,65 }, {520, 90}, {570, 120}, {620, 160}, {670, 210}, {720, 270}, {770, 340}};
boolean thBool = true;
boolean morgen = false;
boolean tag = true;
boolean nacht = true;
private Color color;
private Color color1;
private Color color2;
private Color color3;
private Color color4;
private Color color5;
private Color color6;
private Color color7;
private Color color8;
private Color color9;
private Color color10;
private Color color11;
private Color color12;
private int sonnex;
private int sonney;
private int sonner;
private int gebüschx;
private int gebüschy;
private int gebüschx1;
private int gebüschy1;
public static void main(String[] args) {
Anwendung1 anwendung1 = new Anwendung1();
}
public Anwendung1() {
initialColors();
// Eine Instanz von EinfacheZeichnung erstellen
Frame wnd = new Frame("Einfaches Fenster");
FlowLayout flLayout = new FlowLayout();
// Start Aenderung:
Button btStartDay = new Button("Starte den Tag");
btStartDay.setBackground(new Color(0, 0, 0));
btStartDay.setForeground(new Color(255, 255, 255));
btStartDay.addActionListener(this);
// Ende Aenderung:
Button btMorgen = new Button("Morgen");
btMorgen.setBackground(new Color(0, 0, 0));
btMorgen.setForeground(new Color(255, 255, 255));
Button btTag = new Button("Tag");
btTag.setBackground(new Color(0, 0, 0));
btTag.setForeground(new Color(255, 255, 255));
Button btNacht = new Button("Nacht");
btNacht.setBackground(new Color(0, 0, 0));
btNacht.setForeground(new Color(255, 255, 255));
this.addWindowListener(new WindowClosingAdapter(true));
btMorgen.addActionListener(this);
btTag.addActionListener(this);
btNacht.addActionListener(this);
this.setLayout(flLayout);
this.add(btStartDay);
this.add(btMorgen);
this.add(btTag);
this.add(btNacht);
// Größe, Hintergrundfarbe und Titel des Fensters festlegen
this.setBackground(Color.BLACK);
this.setSize(800, 600);
this.setVisible(true);
}
public void initialColors() {
color = new Color(160, 82, 45);
color1 = new Color(255, 248, 220);
color2 = new Color(255, 240, 245);
color3 = new Color(127, 255, 0);
color4 = new Color(255, 127, 80);
color5 = Color.ORANGE;
color6 = new Color(160, 82, 45);
color7 = Color.GRAY;
color8 = Color.WHITE;
color9 = Color.LIGHT_GRAY;
color10 = new Color(0, 100, 0);
color11 = new Color(135, 206, 255);
color12 = Color.RED;
sonnex = 50;
sonney = 250;
sonner = 50;
gebüschx = 0;
gebüschy = 650;
gebüschx1 = 9999;
gebüschy1 = 55;
}
public void paint(Graphics g) {
// {
// Color Sienna = new Color(160, 82, 45);
// g.setColor(Sienna);// Dunkel-Braun
// Color Sienna4 = new Color(139, 71, 38);
// g.setColor(Sienna4);// Dunkel-Braun4
// Color Coral = new Color(255, 127, 80);
// g.setColor(Coral);// Hell-Braun
// Color Coral3 = new Color(205, 91, 69);
// g.setColor(Coral3);// Coral-Dunkler-Braun
// Color Cornsilk = new Color(255, 248, 220);
// g.setColor(Cornsilk);// Glasig
// Color Darkgreen = new Color(0, 100, 0);
// g.setColor(Darkgreen);// Dunkel-Grün
// Color LavenderBlush1 = new Color(255, 240, 245);
// g.setColor(LavenderBlush1);// Weiß
// Color SkyBlue1 = new Color(135, 206, 255);
// g.setColor(SkyBlue1);// Himmelsblau
// Color Chartreuse1 = new Color(127, 255, 0);
// g.setColor(Chartreuse1);// Hell-Grün
// Color DeepSkyBlue3 = new Color(0, 154, 205);
// g.setColor(DeepSkyBlue3);// Himmels-Dunkel-Blau
// Color DodgerBlue1 = new Color(30, 144, 255);
// g.setColor(DodgerBlue1);// Baby-Blau1
// Color DodgerBlue2 = new Color(28, 134, 238);
// g.setColor(DodgerBlue2);// Baby-Blau2
// Color DodgerBlue3 = new Color(24, 116, 205);
// g.setColor(DodgerBlue3);// Baby-Blau3
// Color Orange1 = new Color(255, 165, 0);
// g.setColor(Orange1);// Leicht-Orange
// Color Grey11 = new Color(28, 28, 28);
// g.setColor(Grey11);// Dunkel-Grau
// Color Grey21 = new Color(54, 54, 54);
// g.setColor(Grey21);// Dunkel-Hell-Grau
// Color Grey31 = new Color(79, 79, 79);
// g.setColor(Grey31);// Grau
// Color Dunkelgrün = new Color(0, 51, 0);
// g.setColor(Dunkelgrün);// Dunkelgrün
// }
// color = Color.DARK_GRAY;
// color1 = Color.LIGHT_GRAY;
// color2 = Color.ORANGE;
// color3 = Color.BLUE;
// color4 = Color.LIGHT_GRAY;
// color5 = Color.YELLOW;
// color6 = new Color(160, 82, 45);
// color7 = Color.GRAY;
// color8 = Color.WHITE;
// color9 = Color.LIGHT_GRAY;
// color10 = new Color(0, 100, 0);
// color11 = Color.BLUE;
// color12 = Color.RED;
// sonnex = 800;
// sonney = 50;
// sonner = 150;
// gebüschx = 0;
// gebüschy = 650;
// gebüschx1 = 9999;
// gebüschy1 = 55;
// if (!tag) {
// color = new Color(139, 71, 38);
// color1 = Color.LIGHT_GRAY;
// color2 = Color.LIGHT_GRAY;
// color3 = Color.GREEN;
// color4 = new Color(255, 127, 80);
// color5 = new Color(255, 165, 0);
// color6 = new Color(139, 71, 38);
// color7 = Color.GRAY;
// color8 = Color.WHITE;
// color9 = Color.LIGHT_GRAY;
// color10 = new Color(0, 100, 0);
// color11 = new Color(0, 154, 205);
// color12 = Color.RED;
// sonnex = 400;
// sonney = 50;
// sonner = 100;
// gebüschx = 0;
// gebüschy = 650;
// gebüschx1 = 9999;
// gebüschy1 = 55;
//
// }
//
// if (!nacht) {
// color = new Color(28, 28, 28);
// color1 = Color.YELLOW;
// color2 = Color.ORANGE;
// color3 = Color.BLACK;
// color4 = Color.ORANGE;
// color5 = Color.WHITE;
// color6 = new Color(28, 28, 28);
// color7 = new Color(28, 28, 28);
// color8 = new Color(79, 79, 79);
// color9 = new Color(54, 54, 54);
// color10 = new Color(0, 51, 0);
// color11 = Color.BLACK;
// color12 = new Color(24, 116, 205);
// sonnex = 800;
// sonney = 50;
// sonner = 150;
// gebüschx = 0;
// gebüschy = 650;
// gebüschx1 = 9999;
// gebüschy1 = 55;
// }
Baukasten baukasten = new Baukasten();
baukasten.rechteck(g, 0, 0, 9999, 9999, color3);// Hintergrund(unten)
baukasten.rechteck(g, 0, 0, 9999, 500, color11);// Hintergrund(oben)
baukasten
.rechteck(g, gebüschx, gebüschy, gebüschx1, gebüschy1, color10);// Gebüsch(einzel)
baukasten.kreis(g, sonnex, sonney, sonner, color5);// Sonne
this.meinHaus(g, 200, 200, color, color1, color2, color4, color5,
color6, color7, color8, color9, color10, color11, color12);
this.meinHaus(g, 600, 600, color, color1, color2, color4, color5,
color6, color7, color8, color9, color10, color11, color12);
}
// Bei der Parameterdefinition muss ein Variablennamen, z.B. xpos, vorhanden
// sein und
// der Typ der Variable muss angegeben werden, z.B. der Typ der Variablen
// "xpos" ist "int"
// Die Variable akzeptiert nur ganze Zahlen (integer-Zahlen)
public void meinHaus(Graphics g, int xpos, int ypos, Color color,
Color color1, Color color2, Color color4, Color color5,
Color color6, Color color7, Color color8, Color color9,
Color color10, Color color11, Color color12) {
Baukasten baukasten = new Baukasten();
baukasten.rechteck(g, xpos, ypos, 200, 200, color);// Haus
baukasten.rechteck(g, xpos + 10, ypos + 10, 75, 50, color1);// Fenster
baukasten.rechteck(g, xpos + 10, ypos + 100, 75, 50, color1);// Fenster
baukasten.rechteck(g, xpos + 125, ypos + 10, 50, 50, color1);// Fenster
baukasten.rechteck(g, xpos + 130, ypos + 140, 40, 60, color1);// Tür
baukasten.rechteck(g, xpos + 201, ypos + 100, 200, 100, color6);// Garagenrand
baukasten.kreis(g, xpos + 160, ypos + 175, 3, Color.BLACK);// Türknauf
baukasten.rechteck(g, xpos + 226, ypos + 125, 150, 75, color2);// Garagentor
baukasten.rechteck(g, xpos + 226, ypos + 155, 150, 1, Color.BLACK);// Garagenstrich
baukasten.rechteck(g, xpos + 226, ypos + 175, 150, 1, Color.BLACK);// Garagenstrich
baukasten.rechteck(g, xpos + 226, ypos + 195, 150, 1, Color.BLACK);// Garagenstrich
baukasten.rechteck(g, xpos + 226, ypos + 135, 150, 1, Color.BLACK);// Garagenstrich
baukasten.rechteck(g, xpos + 200, ypos + 100, 1, 150, Color.BLACK);// Haus-Garage-Strich
baukasten.dreieck(g, xpos, xpos + 200, xpos + 100, ypos, ypos,
ypos - 40, color4);// Dach
baukasten.rechteck(g, xpos - 1000, ypos + 270, 9900, 175, color7);// Straße
baukasten.rechteck(g, xpos - 1000, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos - 900, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos - 800, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos - 700, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos - 600, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos - 500, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos - 400, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos - 300, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos - 200, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos - 100, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos + 100, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos + 200, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos + 300, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos + 400, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos + 500, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos + 600, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos + 700, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos + 800, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos + 900, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos + 1000, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos + 1100, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos + 1200, ypos + 340, 75, 25, color8);// Straßenstrich
baukasten.rechteck(g, xpos - 1000, ypos + 225, 9900, 50, color9);// Bürgersteig
baukasten.rechteck(g, xpos - 1000, ypos + 430, 9900, 50, color9);// Bürgersteig
baukasten.rechteck(g, xpos - 1000, ypos + 200, 9900, 25, color10);// Gebüsch
baukasten.rechteck(g, xpos + 130, ypos + 200, 40, 25, color9);// Hausweg
baukasten.rechteck(g, xpos + 226, ypos + 200, 150, 25, color9);// Garageneinfahrt
baukasten.kreis(g, xpos + 360, ypos + 320, 20, Color.BLACK);// Reifen(rechts-oben)
baukasten.kreis(g, xpos + 395, ypos + 320, 20, Color.BLACK);// Reifen(rechts-oben)
baukasten.rechteck(g, xpos + 350, ypos + 300, 75, 25, color12);// Auto(rechts-oben)
baukasten.rechteck(g, xpos + 375, ypos + 285, 50, 15, color12);// Auto-Dach(rechts-oben)
baukasten.rechteck(g, xpos + 378, ypos + 288, 20, 12, color1);// Auto-Fenster(rechts-oben)
baukasten.kreis(g, xpos - 440, ypos + 320, 20, Color.BLACK);// Reifen(links-oben)
baukasten.kreis(g, xpos - 402, ypos + 320, 20, Color.BLACK);// Reifen(links-oben)
baukasten.rechteck(g, xpos - 450, ypos + 300, 75, 25, color12);// Auto(links-oben)
baukasten.rechteck(g, xpos - 425, ypos + 285, 50, 15, color12);// Auto-Dach(links-oben)
baukasten.rechteck(g, xpos - 422, ypos + 288, 20, 12, color1);// Auto-Fenster(links-oben)
baukasten.kreis(g, xpos + 60, ypos + 400, 20, Color.BLACK);// Reifen(links-unten)
baukasten.kreis(g, xpos + 25, ypos + 400, 20, Color.BLACK);// Reifen(links-unten)
baukasten.rechteck(g, xpos + 15, ypos + 380, 75, 25, color12);// Auto(links-unten)
baukasten.rechteck(g, xpos + 15, ypos + 365, 50, 15, color12);// Auto-Dach(links-unten)
baukasten.rechteck(g, xpos + 42, ypos + 368, 20, 12, color1);// Auto-Fenster(links-unten)
baukasten.kreis(g, xpos + 600, ypos + 400, 20, Color.BLACK);// Reifen(rechts-unten)
baukasten.kreis(g, xpos + 640, ypos + 400, 20, Color.BLACK);// Reifen(rechts-unten)
baukasten.rechteck(g, xpos + 595, ypos + 380, 75, 25, color12);// Auto(rechts-unten)
baukasten.rechteck(g, xpos + 595, ypos + 365, 50, 15, color12);// Auto-Dach(rechts-unten)
baukasten.rechteck(g, xpos + 622, ypos + 368, 20, 12, color1);// Auto-Fenster(rechts-unten)
}
private void setNextCoord() {
sonnex = coords[coordsPointer][0];
sonney = coords[coordsPointer][1];
coordsPointer++;
repaint();
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Morgen")) {
System.out.print("Morgen");
nacht = true;
morgen = false;
tag = true;
repaint();
} else if (e.getActionCommand().equals("Tag")) {
System.out.print("Tag");
nacht = true;
tag = false;
morgen = true;
repaint();
} else if (e.getActionCommand().equals("Nacht")) {
System.out.print("Nacht");
nacht = false;
tag = true;
morgen = true;
repaint();
}
// Start Aenderung
else if (e.getActionCommand().equals("Starte den Tag")) {
Thread th = new Thread() {
@Override
public void run() {
Calendar cal = Calendar.getInstance();
int hour = cal.get(Calendar.HOUR_OF_DAY); // zwischen 0 und // 23
while (thBool) {
setNextCoord();
if(coordsPointer == coords.length) {
// das Ende des Koordinaten-Arrays wurde erreicht!
thBool = false;
}
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
};
th.start();
}
// Ende Aenderung
}
}
PS.: @vfl_freak ein WindowListener/WindowAdapter wird ihn nicht weiterbringen bei einem Button! :suspekt: