Weihnachtsbaum zeichnen lassen

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi!

Also wir mussten auch einen Weihnachtsbaum zeichnen und zwar mit der paint-Methode. Diese findest du zum Beispiel bei Java ist auch eine Insel unter Punkt 16 Grafikprogrammierung (klick hier)
Bei mir sieht das ungefähr so aus:

Code:
package Baum;

import java.awt.*; 
import java.awt.event.*; 
 
public class Baum extends Frame 
{ 
  private static final long serialVersionUID = 3800165321162121122L; 
 
  public Baum() 
  { 
    setSize( 900, 700 ); 
 
    addWindowListener( new WindowAdapter() { 
      @Override 
      public void windowClosing ( WindowEvent e ) { System.exit( 0 ); } 
    } ); 
  } 
 
  @Override 
  public void paint( Graphics g ) 
  { 
    //Hier kommt das Gezeichnete hin (mit Pixelangaben)
	//Bsp.: g.drawLine (450, 50, 350, 150);
  } 
 
  public static void main( String[] args ) 
  { 
    new Baum().setVisible( true ); 
  }
}

Dazu hab ich aber ne Frage: Warum erkennt Eclipse bei mir das "@Override" nicht? Er unterkringelt es rot und sagt "Override cannot be resolved as a type"... Wenn ich es weglasse, findet er die Main-Class nicht mehr. Das geht also auch nicht...

Gruß,
Daniel
 

Marco13

Top Contributor
@Gast: Das nennt man "Hijacking". Mach' deinen eigenen Thread auf.

@Cozumel: Man müßte genau wissen, wie die Breite das Aussehen des Baumes beeinflussen soll. Gibt's dazu Infos oder Beispiele?
 

hdi

Top Contributor
Du meinst wieviele "*" die unterste Reihe haben soll?
Dann musst du dir das Verhältnis zwischen Höhe und Breite holen:

Code:
double ratio = breite/hoehe;

und dann erzeugst du in einer for-schleife Reihe für Reihe deinen Baum, wobei
in jeder Reihe dann

Code:
int amountStars = reihenIndex * ratio;

Sterne vorkommen.

Als letztes solltest du aber noch sicherstellen, dass zumindest immer ein einziger * pro Reihe
vorhanden ist, auch wenn amountStars = 0 ist. Damit die Höhe garantiert ist, denn wenn man die Variablen
dumm wählt, zB Breite = 1 und Höhe = 2, dann haste ohne diese Abfrage ein Problem (wobei der Baum dann so oder so scheisse aussieht ;))
 

Cozumel

Mitglied
Hi hdi,

so richtig hab ich das noch nicht verstanden, wie ich das in meinen Code einbauen soll.



bei
Code:
int amountStars = reihenIndex * ratio;
muss ich einen cast nach int machen oder?
 

hdi

Top Contributor
Genau das musst du casten. Das Problem ist jetzt noch:

Code:
 for (int j = 1; j <= high - i; j++)

stimmt natürlcih nicht mehr so ohne weiteres, weil der Baum nicht unbedingt
gleichmässig diagonal kleiner wird nach oben hin. D.h. konkret musst du das high - i
ersetzen. Musst dir halt überlegen, wovon jetzt die Einrückung abhängt, du hast die
Anzahl der Sterne und die Breite sowie "i", d.h. damit solltest du das hinkriegen.

Und nochmal:
Code:
for (int j = 1; j <= amountStars; j++)

ist auch nicht gut da amountStars auch 0 sein kann. Du solltest in jedem Fall mindestens
immer 1 Stern pro Reihe printen.
 

Cozumel

Mitglied
Ich bins nochmal...

also jetzt bekomm ich so nen halben baum hin... ;) irgendwie stell ich mich bei der aufgabe schon ziemlich an - aber wir sind ja im Anfängerforum ^^



ist gerade etwas verwirrend, aber wie schaff ich es, dass er an die richtige Stelle rückt?
 

Marco13

Top Contributor
Hm. Für width=10 und height=15 sieht das aber ziemlich seltsam aus...

Deswegen die Frage: Wie soll das ganze dann aussehen? Mal' ggf. mal auf, wie ein Baum für
width = 5, height = 7
width = 6, height = 10
aussehen soll....
 
G

Gast

Gast
sieht nicht generell jede "gerade" Basis doof aus? Also irgendwie muss es doch eine ungerade Zahl sein, damit man eine schöne Spitze bekommt.
 

Marco13

Top Contributor
:wink: Die Zahlen die ich vorgegeben habe (bzw. bestimmte Eigenschaften, die für diese Zahlen bzw. Zahlenpaare gelten) waren bewußt gewählt :wink: Um zu wissen, WIE man ein Problem löst, muss man das Problem im allgemeinen kennen....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Erste Schritte Weihnachtsbaum zeichnen Java Basics - Anfänger-Themen 6
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
Ellachen55 Weihnachtsbaum in Eclipse programmieren Java Basics - Anfänger-Themen 6
D Weihnachtsbaum implementieren gescheitert. Java Basics - Anfänger-Themen 2
S Erste Schritte Weihnachtsbaum / Laufzeit O(n) Java Basics - Anfänger-Themen 9
J SWING UI Designer und zeichnen Java Basics - Anfänger-Themen 4
luggas89 Mit Jframe live zeichnen Java Basics - Anfänger-Themen 4
K 3D Fläche Zeichnen Java Basics - Anfänger-Themen 2
J Bild auf Hintergrundbild zeichnen Java Basics - Anfänger-Themen 5
R Iterativ zeichnen Java Basics - Anfänger-Themen 1
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
P JFrame, Linien zeichnen, MouseListener Java Basics - Anfänger-Themen 2
KogoroMori21 Mit einer Schleife eine Treppe zeichnen Java Basics - Anfänger-Themen 29
V Speicherzustand zeichnen Java Basics - Anfänger-Themen 0
O Klappt nicht: Ein Panel neu zeichnen Java Basics - Anfänger-Themen 3
CptK Interface Bilder mit Graphics g zeichnen Java Basics - Anfänger-Themen 7
B Java JFrame zeichnen Java Basics - Anfänger-Themen 4
Mosquera f(x)=x² zeichnen Java Basics - Anfänger-Themen 5
J Graphen in Java zeichnen Java Basics - Anfänger-Themen 11
L Anfängerin möchte Linie zeichnen Java Basics - Anfänger-Themen 8
D JPanel mehrere Formen zeichnen Java Basics - Anfänger-Themen 5
S Zeichnen mit Wiederholungen Java Basics - Anfänger-Themen 12
B Wie kann ich Linien rekursiv zeichnen? Java Basics - Anfänger-Themen 4
P Einen String mittig zeichnen? Java Basics - Anfänger-Themen 1
T Koordinatensystem zeichnen - Variablen merken? Quadratische Funktion zeichnen? Java Basics - Anfänger-Themen 5
M Ein Bild durch Objekterzeugung zeichnen Java Basics - Anfänger-Themen 5
W Wie kann ich in Java eine Kurve aus Punkten zeichnen? Java Basics - Anfänger-Themen 25
snipesss Linie zeichnen ohne extra Klasse? Java Basics - Anfänger-Themen 3
C Umrisse von Bilddateien mithilfe Polygonen zeichnen Java Basics - Anfänger-Themen 5
G Aus einem Code ein Sequenzdiagramm zeichnen? Java Basics - Anfänger-Themen 1
K Rechtecke rekursiv zeichnen Java Basics - Anfänger-Themen 20
V Quadrate rekursiv zeichnen Java Basics - Anfänger-Themen 7
B Java Graphen zeichnen - Brauche Hilfe Java Basics - Anfänger-Themen 9
C Schleifenaufgabe - Molekül zeichnen Java Basics - Anfänger-Themen 6
K Ungenauigkeit beim Zeichnen von Funktionen Java Basics - Anfänger-Themen 6
H Linie zeichnen... Java Basics - Anfänger-Themen 16
N Treppe zeichnen Java Basics - Anfänger-Themen 1
M Quadrat zeichnen einfach bitte! Java Basics - Anfänger-Themen 2
P Shape Zeichnen klappt nicht - einlesen der Breite/Höhe schon Java Basics - Anfänger-Themen 1
M in Java zeichnen Java Basics - Anfänger-Themen 2
J JLabel Icon neu zeichnen Java Basics - Anfänger-Themen 2
J Rechteck zeichnen mit Canvas Java Basics - Anfänger-Themen 7
D Zeichnen, Schleifen Java Basics - Anfänger-Themen 7
S Zeichnen , Schleifen Java Basics - Anfänger-Themen 4
S Rechteck zeichnen Java Basics - Anfänger-Themen 2
S Ein Graphics Obejct mehrmals mit denselben Eigenschaften zeichnen lassen?!?!? Java Basics - Anfänger-Themen 4
S Wo beginnt ein Draw String zu zeichnen. Java Basics - Anfänger-Themen 4
S Paint Anwendung: Freihandlinien zeichnen Java Basics - Anfänger-Themen 4
llabusch Layout neu zeichnen lassen Java Basics - Anfänger-Themen 2
A Histogramm zeichnen Java Basics - Anfänger-Themen 2
S Punkt in Java zeichnen Java Basics - Anfänger-Themen 14
E Dreieck zeichnen Java Basics - Anfänger-Themen 3
gamebreiti Methoden JPanel nach clearAll() und add neu zeichnen Java Basics - Anfänger-Themen 1
T Baum mit Turtle zeichnen Java Basics - Anfänger-Themen 2
C Hilfe beim Zeichnen Java Basics - Anfänger-Themen 8
D Haus zeichnen Java Basics - Anfänger-Themen 4
K Methoden Objekt auf JFrame zeichnen Java Basics - Anfänger-Themen 16
H 27 Kreise Zeichnen Java Applet Java Basics - Anfänger-Themen 2
S Problem mit "Zeichnen auf Kommando" Java Basics - Anfänger-Themen 2
M Double Punkte Zeichnen Java Basics - Anfänger-Themen 7
S Funktionen zeichnen Java Basics - Anfänger-Themen 2
2 Bild auf JApplet zeichnen Java Basics - Anfänger-Themen 18
R 2D Grafik zeichnen Java Basics - Anfänger-Themen 4
F Line zeichnen und Werte ändern Java Basics - Anfänger-Themen 6
B Grafik zeichnen Java Basics - Anfänger-Themen 25
N Per Button Kreis zeichnen Java Basics - Anfänger-Themen 8
T mehrere Punkte zeichnen ohne löschung Java Basics - Anfänger-Themen 4
J Für 3 Sekunden etwas bestimmtes zeichnen Java Basics - Anfänger-Themen 8
C Kreis nach Mausklick zeichnen Java Basics - Anfänger-Themen 5
C Auf Button-Druck zeichnen Java Basics - Anfänger-Themen 2
R Methoden Zeichnen auf Button-Druck durch Paint-Methode Java Basics - Anfänger-Themen 2
D Klassen Zeichnen von Figuren mittels vorgegebener Klasse Java Basics - Anfänger-Themen 3
J Schachbrett zeichnen Java Basics - Anfänger-Themen 9
J Innerhalb der Border zeichnen Java Basics - Anfänger-Themen 9
J Hoher Speicherverbrauch beim Zeichnen von Images aus einer ArrayList Java Basics - Anfänger-Themen 10
A Blitze mit Linien zeichnen Java Basics - Anfänger-Themen 15
U Kreis um Textfelder zeichnen Java Basics - Anfänger-Themen 4
R Balkendiagramm zeichnen Java Basics - Anfänger-Themen 14
J Bild anhand von Koordinaten zeichnen Java Basics - Anfänger-Themen 10
B GUI Parkplatz zeichnen Java Basics - Anfänger-Themen 10
S Mehrere Zeichnungen zeichnen Java Basics - Anfänger-Themen 16
A Linie Zeichnen Applet mit Double Wert Java Basics - Anfänger-Themen 3
F Image übertragen und zeichnen Java Basics - Anfänger-Themen 8
P Funktion zeichnen Java Basics - Anfänger-Themen 6
Q Zeichnen außerhalb der paint-methode Java Basics - Anfänger-Themen 7
F zeichnen in JPanel Java Basics - Anfänger-Themen 7
T Transparente Bilder mit Graphics zeichnen Java Basics - Anfänger-Themen 17
T Sterne zeichnen Java Basics - Anfänger-Themen 4
M Bilder laden und zeichnen Java Basics - Anfänger-Themen 3
G Polygon in Frame zeichnen Java Basics - Anfänger-Themen 3
S X Zeichnen als Muster ausgeben Java Basics - Anfänger-Themen 5
P Kurven zeichnen Java Basics - Anfänger-Themen 5
I dauerhaftes zeichnen Java Basics - Anfänger-Themen 3
H Zeichnen in JPanel Java Basics - Anfänger-Themen 8
W Funktions-Graphen "zeichnen" Java Basics - Anfänger-Themen 2
J Bilder auf Bilder zeichnen Java Basics - Anfänger-Themen 8
I Rechteck Zeichnen Java Basics - Anfänger-Themen 9
W Zeichnen in Swing Java Basics - Anfänger-Themen 7
N Linie auf spezielle Area zeichnen Java Basics - Anfänger-Themen 9
K Auf JPanel Zeichnen Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben