Zwei mal paint()

Status
Nicht offen für weitere Antworten.

timbo18

Mitglied
Hi Leute habe mal ne frage kann ich zwei mal die methode paint verwenden??

Hier mein problem:
Würde gerne die beiden in ein programm machen weis aber nicht wie ?
Iwr sollen ein Programm schreiben das heist Meinekleine straße und soll uns ine straße mit häusern und bäumen zeigen. Dafür wollte ich die beiden halt in ein programm bekommen oder weis jemand eine andere lösung??

Wär sehr nett wen mir einer helfen könnte.

mfg timbo18

public void paint( Graphics g ){
Color stamm= new Color(149,84,72);
Color krone= new Color(101,159,62);

g.setColor(stamm);
g.fillRect(30,205,20,60);
g.setColor(krone);
g.fillOval(20,135,40,80);

g.setColor(stamm);
g.fillRect(90,205,20,60);
g.setColor(krone);
g.fillOval(80,135,40,80);
}

public void paint( Graphics g )
{ Color farbe=new Color(120,120,120);
Color farbe2=new Color(250,210,0);
Color farbe3=new Color(200,250,145);
Color farbe4=new Color(200,100,70);
Color farbe5=new Color(100,180,0);
Color dach=new Color(255,0,0);
//Hausunterteile
g.setColor(farbe);
g.fillRect(40,200,100,100);

g.setColor(farbe2);
g.fillRect(180,100,100,100);

g.setColor(farbe3);
g.fillRect(400,200,100,100);

g.setColor(farbe4);
g.fillRect(530,100,100,100);

g.setColor(farbe5);
g.fillRect(750,200,100,100);
//Dach
int[] ary1 = {200,200,150,150};
int[] ary2 = {100,100,50,50};
int[] arx = {30,150,90,90};
g.setColor(dach);
g.fillPolygon(arx,ary1,arx.length);

int[] arx1 = {170,290,230,230};
g.setColor(dach);
g.fillPolygon(arx1,ary2,arx1.length);

int[] arx2 = {390,510,450,450};
g.setColor(dach);
g.fillPolygon(arx2,ary1,arx2.length);

int[] arx3 = {520,640,580,580};
g.setColor(dach);
g.fillPolygon(arx3,ary2,arx3.length);

int[] arx4 = {740,860,800,800};
g.setColor(dach);
g.fillPolygon(arx4,ary1,arx4.length);

//Fenster1
Color fenster=new Color(255,255,255);
g.setColor(fenster);
g.fillRect(55,210,10,10);
g.fillRect(55,230,10,10);
g.fillRect(55,250,10,10);
g.fillRect(55,270,10,10);
g.fillRect(65,285,10,15);
g.fillRect(75,210,10,10);
g.fillRect(75,230,10,10);
g.fillRect(75,250,10,10);
g.fillRect(75,270,10,10);
g.fillRect(95,210,10,10);
g.fillRect(95,230,10,10);
g.fillRect(95,250,10,10);
g.fillRect(95,270,10,10);
g.fillRect(115,210,10,10);
g.fillRect(115,230,10,10);
g.fillRect(115,250,10,10);
g.fillRect(115,270,10,10);

// Fenster2

g.setColor(fenster);
g.fillRect(195,110,10,10);
g.fillRect(195,130,10,10);
g.fillRect(195,150,10,10);
g.fillRect(195,170,10,10);
g.fillRect(205,185,10,15);
g.fillRect(215,110,10,10);
g.fillRect(215,130,10,10);
g.fillRect(215,150,10,10);
g.fillRect(215,170,10,10);
g.fillRect(235,110,10,10);
g.fillRect(235,130,10,10);
g.fillRect(235,150,10,10);
g.fillRect(235,170,10,10);
g.fillRect(255,110,10,10);
g.fillRect(255,130,10,10);
g.fillRect(255,150,10,10);
g.fillRect(255,170,10,10);

//Fenster 3

g.fillRect(415,210,10,10);
g.fillRect(415,230,10,10);
g.fillRect(415,250,10,10);
g.fillRect(415,270,10,10);
g.fillRect(425,285,10,15);
g.fillRect(435,210,10,10);
g.fillRect(435,230,10,10);
g.fillRect(435,250,10,10);
g.fillRect(435,270,10,10);
g.fillRect(455,210,10,10);
g.fillRect(455,230,10,10);
g.fillRect(455,250,10,10);
g.fillRect(455,270,10,10);
g.fillRect(475,210,10,10);
g.fillRect(475,230,10,10);
g.fillRect(475,250,10,10);
g.fillRect(475,270,10,10);

//Fenster 4

g.fillRect(540,110,10,10);
g.fillRect(540,130,10,10);
g.fillRect(540,150,10,10);
g.fillRect(540,170,10,10);
g.fillRect(550,185,10,15);
g.fillRect(560,110,10,10);
g.fillRect(560,130,10,10);
g.fillRect(560,150,10,10);
g.fillRect(560,170,10,10);
g.fillRect(580,110,10,10);
g.fillRect(580,130,10,10);
g.fillRect(580,150,10,10);
g.fillRect(580,170,10,10);
g.fillRect(600,110,10,10);
g.fillRect(600,130,10,10);
g.fillRect(600,150,10,10);
g.fillRect(600,170,10,10);

//Fenster 5

g.fillRect(760,210,10,10);
g.fillRect(760,230,10,10);
g.fillRect(760,250,10,10);
g.fillRect(760,270,10,10);
g.fillRect(770,285,10,15);
g.fillRect(780,210,10,10);
g.fillRect(780,230,10,10);
g.fillRect(780,250,10,10);
g.fillRect(780,270,10,10);
g.fillRect(800,210,10,10);
g.fillRect(800,230,10,10);
g.fillRect(800,250,10,10);
g.fillRect(800,270,10,10);
g.fillRect(820,210,10,10);
g.fillRect(820,230,10,10);
g.fillRect(820,250,10,10);
g.fillRect(820,270,10,10);
}
 

timbo18

Mitglied
JA und was sag er mir das versteh ich ja halt nicht. Wer nett wenn mir einer erklären könnte wie ich das Problem weg bekomme.
 

L-ectron-X

Gesperrter Benutzer
Dein Code ist nicht vollständig, somit nicht zu kompilieren, somit gibts für uns auch keine Fehlermeldungen.
Was ist daran so schwer, die Fehlermeldung zu posten? :roll:
 

timbo18

Mitglied
Ich bekomme diese Fehler meldung wenn ich beide in einem Programm habe

H:\Programmiersprache\Meine kleine straße\Straße.java:29: paint(java.awt.Graphics) is already defined in Straße

public void paint( Graphics g )

^
HIer ist auch einmal der ganze Code :

import java.awt.*;
import java.awt.event.*;



public class Straße extends Frame {
public Straße()
{
setSize( 1000, 500 );
addWindowListener( new WindowAdapter() {

public void windowClosing ( WindowEvent e ) { System.exit( 0 ); }
} );
}
public void paint( Graphics g ){
Color stamm= new Color(149,84,72);
Color krone= new Color(101,159,62);

g.setColor(stamm);
g.fillRect(30,205,20,60);
g.setColor(krone);
g.fillOval(20,135,40,80);

g.setColor(stamm);
g.fillRect(90,205,20,60);
g.setColor(krone);
g.fillOval(80,135,40,80);
}
public void paint( Graphics g )
{ Color farbe=new Color(120,120,120);
Color farbe2=new Color(250,210,0);
Color farbe3=new Color(200,250,145);
Color farbe4=new Color(200,100,70);
Color farbe5=new Color(100,180,0);
Color dach=new Color(255,0,0);
//Hausunterteile
g.setColor(farbe);
g.fillRect(40,200,100,100);

g.setColor(farbe2);
g.fillRect(180,100,100,100);

g.setColor(farbe3);
g.fillRect(400,200,100,100);

g.setColor(farbe4);
g.fillRect(530,100,100,100);

g.setColor(farbe5);
g.fillRect(750,200,100,100);
//Dach
int[] ary1 = {200,200,150,150};
int[] ary2 = {100,100,50,50};
int[] arx = {30,150,90,90};
g.setColor(dach);
g.fillPolygon(arx,ary1,arx.length);

int[] arx1 = {170,290,230,230};
g.setColor(dach);
g.fillPolygon(arx1,ary2,arx1.length);

int[] arx2 = {390,510,450,450};
g.setColor(dach);
g.fillPolygon(arx2,ary1,arx2.length);

int[] arx3 = {520,640,580,580};
g.setColor(dach);
g.fillPolygon(arx3,ary2,arx3.length);

int[] arx4 = {740,860,800,800};
g.setColor(dach);
g.fillPolygon(arx4,ary1,arx4.length);

//Fenster1
Color fenster=new Color(255,255,255);
g.setColor(fenster);
g.fillRect(55,210,10,10);
g.fillRect(55,230,10,10);
g.fillRect(55,250,10,10);
g.fillRect(55,270,10,10);
g.fillRect(65,285,10,15);
g.fillRect(75,210,10,10);
g.fillRect(75,230,10,10);
g.fillRect(75,250,10,10);
g.fillRect(75,270,10,10);
g.fillRect(95,210,10,10);
g.fillRect(95,230,10,10);
g.fillRect(95,250,10,10);
g.fillRect(95,270,10,10);
g.fillRect(115,210,10,10);
g.fillRect(115,230,10,10);
g.fillRect(115,250,10,10);
g.fillRect(115,270,10,10);

// Fenster2

g.setColor(fenster);
g.fillRect(195,110,10,10);
g.fillRect(195,130,10,10);
g.fillRect(195,150,10,10);
g.fillRect(195,170,10,10);
g.fillRect(205,185,10,15);
g.fillRect(215,110,10,10);
g.fillRect(215,130,10,10);
g.fillRect(215,150,10,10);
g.fillRect(215,170,10,10);
g.fillRect(235,110,10,10);
g.fillRect(235,130,10,10);
g.fillRect(235,150,10,10);
g.fillRect(235,170,10,10);
g.fillRect(255,110,10,10);
g.fillRect(255,130,10,10);
g.fillRect(255,150,10,10);
g.fillRect(255,170,10,10);

//Fenster 3

g.fillRect(415,210,10,10);
g.fillRect(415,230,10,10);
g.fillRect(415,250,10,10);
g.fillRect(415,270,10,10);
g.fillRect(425,285,10,15);
g.fillRect(435,210,10,10);
g.fillRect(435,230,10,10);
g.fillRect(435,250,10,10);
g.fillRect(435,270,10,10);
g.fillRect(455,210,10,10);
g.fillRect(455,230,10,10);
g.fillRect(455,250,10,10);
g.fillRect(455,270,10,10);
g.fillRect(475,210,10,10);
g.fillRect(475,230,10,10);
g.fillRect(475,250,10,10);
g.fillRect(475,270,10,10);

//Fenster 4

g.fillRect(540,110,10,10);
g.fillRect(540,130,10,10);
g.fillRect(540,150,10,10);
g.fillRect(540,170,10,10);
g.fillRect(550,185,10,15);
g.fillRect(560,110,10,10);
g.fillRect(560,130,10,10);
g.fillRect(560,150,10,10);
g.fillRect(560,170,10,10);
g.fillRect(580,110,10,10);
g.fillRect(580,130,10,10);
g.fillRect(580,150,10,10);
g.fillRect(580,170,10,10);
g.fillRect(600,110,10,10);
g.fillRect(600,130,10,10);
g.fillRect(600,150,10,10);
g.fillRect(600,170,10,10);

//Fenster 5

g.fillRect(760,210,10,10);
g.fillRect(760,230,10,10);
g.fillRect(760,250,10,10);
g.fillRect(760,270,10,10);
g.fillRect(770,285,10,15);
g.fillRect(780,210,10,10);
g.fillRect(780,230,10,10);
g.fillRect(780,250,10,10);
g.fillRect(780,270,10,10);
g.fillRect(800,210,10,10);
g.fillRect(800,230,10,10);
g.fillRect(800,250,10,10);
g.fillRect(800,270,10,10);
g.fillRect(820,210,10,10);
g.fillRect(820,230,10,10);
g.fillRect(820,250,10,10);
g.fillRect(820,270,10,10);
}


public static void main( String[] args )
{
new Straße().setVisible( true );

}

}
 

DaKo

Bekanntes Mitglied
Diese Fehlermeldung bekommst du, weil du eben nicht 2 Methoden mit der selben Signatur in der selben Klasse haben darfst!
 

timbo18

Mitglied
Ja aber wenn ich sie paint_baum und paint_haus nene kommt nicht auf dem bildschirm ausser ein weises fenster
 
S

SlaterB

Gast
kannst du solche Problem nicht mit ZWEI TESTOPERATIONEN

Code:
public void paint( Graphics g ){ 
   g.fillRect(30,205,20,60); // Baum
}

public void paint( Graphics g ){ 
    g.fillRect(40,200,100,100);  // Haus
}

testen, 6 Zeilen statt 600 die niemanden interessieren?

das ist total dämlich, dämlich, dämlich,
das muss man mal sagen dürfen, bei allem gebührenden Takt,

wer sowas macht, ist doch nicht ganz klar im Kopf..

----------

so und jetzt kann man anfangen zu überlegen,
z.B. könntest du die eine Operation paintBaum() nennen, die andere paintHaus()

und in der EINEN paint-Operation rufst du dann BEIDE auf:
Code:
public void paint( Graphics g ){ 
  paintBaum(g); // Baum
  pantHaus(g);  // Haus
}

------------


und noch ein wichtiger Tipp:
schreibe dir eine Operation
public void paintFenster(int x, int y);

die rufst du dann in 4 Zeilen 4x auf, statt für jedes Fenster mühsam 30 Zeilen Code zu kopieren und anzupassen
 

timbo18

Mitglied
Cool Danke schön das geht. ut mir leid das ich den ganz Code immer gepostet habe.

Danke du hast mir echt sehr geholfen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J zwei Paint methoden in einer Klasse AWT, Swing, JavaFX & SWT 3
P Zwei JPanel übereianderlegen AWT, Swing, JavaFX & SWT 14
tommybalbor JavaFx Anwendung klappt nicht für macOs Nutzern, wenn ich zwei dependecies bei maven hinzufüge AWT, Swing, JavaFX & SWT 6
raeuchertofu Input bei zwei jTextfields AWT, Swing, JavaFX & SWT 5
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
U Zwei Fragen zu eienr Swing Aufgabe AWT, Swing, JavaFX & SWT 2
G 2D-Grafik Grafik in zwei verschiedenen Fenstern gleichzeitig zeichnen AWT, Swing, JavaFX & SWT 9
I JTable, DefaultTableModel, zwei Zahlen multiplizieren. AWT, Swing, JavaFX & SWT 26
P Zwei JTables auf eine A4-Seite mit einstellbaren Rändern AWT, Swing, JavaFX & SWT 9
missy72 JavaFX TableView / TableColumn / ObservableList / zwei Werte in einer Zelle AWT, Swing, JavaFX & SWT 2
Z Swing Kann man denn abstand zwischen zwei Buttons berechnen AWT, Swing, JavaFX & SWT 5
M Kommunikation zwischen zwei Stages AWT, Swing, JavaFX & SWT 0
Bluedaishi JavaFX Programm start mit zwei scenen bzw Fenster AWT, Swing, JavaFX & SWT 1
N Wie kann ich zwei Grafiken in einer Oberfläche anzeigen lassen? AWT, Swing, JavaFX & SWT 8
L Wörter zwischen zwei Grenzen einlesen. AWT, Swing, JavaFX & SWT 13
T Java: Zwei abhängige JSlider machen nicht das, was sie sollen AWT, Swing, JavaFX & SWT 4
D Zwei getrennte Java Klassen verbinden. Wie ? AWT, Swing, JavaFX & SWT 2
M Zwei JPanel übereinander nur vorderes "repainten" AWT, Swing, JavaFX & SWT 3
D zwei JLabel stapeln in einem JPanel AWT, Swing, JavaFX & SWT 5
H Kombination von zwei Frames AWT, Swing, JavaFX & SWT 16
M Schnittpunkte zwischen zwei Graphics2D Elemente ermitteln. AWT, Swing, JavaFX & SWT 5
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
A Swing Programm funktioniert aber zwei Buttons werden angezeigt AWT, Swing, JavaFX & SWT 3
D Swing Kommunikation zwischen zwei GUI's AWT, Swing, JavaFX & SWT 2
S Zwei JTree, ein Model, bei Selection im ersten JTree soll der zweite die Inhlate anzeigen AWT, Swing, JavaFX & SWT 2
H zwei gleich große Panels getrennt durch ein weiteres Panel AWT, Swing, JavaFX & SWT 10
T CSS Rechtsbüdniges Label mit Zwei Zeilen AWT, Swing, JavaFX & SWT 7
P 2D-Grafik Bogen(Arc) zwischen zwei Punkten zeichnen AWT, Swing, JavaFX & SWT 2
A Oberfläche mit zwei Klassen und actionlistener verbinden AWT, Swing, JavaFX & SWT 7
Paul15 Zwei Fenster AWT, Swing, JavaFX & SWT 23
V JavaFX Zwei Dinge in einer CellFactory erledigen AWT, Swing, JavaFX & SWT 8
B Vertikale Größenänderung zwischen zwei Widgets AWT, Swing, JavaFX & SWT 2
C Zwei Ebenen in Graphics ? AWT, Swing, JavaFX & SWT 0
L Zwei String Array in eine Spalte einfügen AWT, Swing, JavaFX & SWT 1
I Zwei Fenster nebeneinander anzeigen AWT, Swing, JavaFX & SWT 2
A Swing Zwei Klassen mit Textfeld Eingaben vergleichen und Ausgabe erzeugen AWT, Swing, JavaFX & SWT 10
B Swing focusGained öffnet sich zwei mal AWT, Swing, JavaFX & SWT 3
C Bei Btn Klick zwei JPanels switchen AWT, Swing, JavaFX & SWT 14
A Swing zwei JComboBoxen miteinander vergleichen und anschließend Button umwandeln AWT, Swing, JavaFX & SWT 7
A Jtabbed ein Reiter mit zwei icons AWT, Swing, JavaFX & SWT 4
K Zugriff auf Label und Ereignisbehandlung durch zwei Handlerklassen AWT, Swing, JavaFX & SWT 3
J Zwei GUIs - Nach button-Klick soll ein Wert an die andere GUI übergeben werden AWT, Swing, JavaFX & SWT 15
B Kommunikation zwischen zwei Fenstern und vorübergehende Speicherung der Eingaben AWT, Swing, JavaFX & SWT 4
M Swing Warum öffnen sich beim Zeichnen mit Swing plötzlich zwei Fenster? AWT, Swing, JavaFX & SWT 5
B JApplet zwei Panels autobreite? AWT, Swing, JavaFX & SWT 2
T LayoutManager GridBagLayout - zwei jTable mit unterschiedlicher Höhe AWT, Swing, JavaFX & SWT 2
L Zeichnen in zwei Fenstern AWT, Swing, JavaFX & SWT 8
J JOptionPane mit zwei Buttons?! AWT, Swing, JavaFX & SWT 3
F Swing Ladebildschirm zwischen zwei SWING Frames AWT, Swing, JavaFX & SWT 11
T JTabbedPane - neuen Tab zwischen zwei anderen Tabs hinzufügen AWT, Swing, JavaFX & SWT 2
Helgon Zwei jTables gleich Breit AWT, Swing, JavaFX & SWT 4
C Zwei Bilder übereinander legen AWT, Swing, JavaFX & SWT 1
A Daten umherschieben zwischen zwei Klassen AWT, Swing, JavaFX & SWT 40
M Swing Zwei Jlists - selectedElement binden? AWT, Swing, JavaFX & SWT 7
K zwei TableModel AWT, Swing, JavaFX & SWT 9
J Schließen über x soll zwei Prozesse beenden AWT, Swing, JavaFX & SWT 7
F JPanel mit zwei Methoden her beschreiben. AWT, Swing, JavaFX & SWT 8
Y xormode bzw bild in zwei ebenen zeichnen AWT, Swing, JavaFX & SWT 4
G ein JTextArea in zwei JPanels AWT, Swing, JavaFX & SWT 2
G Wie erzeugt man zwei identische JPanel AWT, Swing, JavaFX & SWT 4
C zwei Bilder nacheinander anzeigen AWT, Swing, JavaFX & SWT 2
B LayoutManager Positionierung zwischen zwei Layoutkomponenten AWT, Swing, JavaFX & SWT 2
N Swing DnD zwischen zwei JTrees AWT, Swing, JavaFX & SWT 2
H Swing Zwei Fragen AWT, Swing, JavaFX & SWT 5
D Zwei String Attribute über eine Methode als Zeilen in einer Tabelle darstellen AWT, Swing, JavaFX & SWT 9
C Zwei JSpinner mit dem gleichen Wert AWT, Swing, JavaFX & SWT 2
T Zwei Jtables eine JscrollPane AWT, Swing, JavaFX & SWT 3
L Zwei Anwendungen kommen sich in die Quere! AWT, Swing, JavaFX & SWT 4
M SWT DND zwischen zwei TreViewern in beide Richtungen AWT, Swing, JavaFX & SWT 10
S SWT Zwei Tabellen gleichzeitig Scrollen AWT, Swing, JavaFX & SWT 3
N zwei JComponente gleichzeitig auf JPanel hinzufügen AWT, Swing, JavaFX & SWT 22
N Ein Button für zwei Aktionen AWT, Swing, JavaFX & SWT 7
V Swing Auslösen von zwei Events hintereinander AWT, Swing, JavaFX & SWT 4
hdi SWT Zwei mal Shell öffnen = Exception AWT, Swing, JavaFX & SWT 6
algorismi Unterscheiden zwischen zwei JLists AWT, Swing, JavaFX & SWT 5
P GridBagLayout - zwei Spalten mit gleicher Größe AWT, Swing, JavaFX & SWT 11
H Ein Button - zwei Actions AWT, Swing, JavaFX & SWT 3
T Schieberegler mit zwei Schiebern AWT, Swing, JavaFX & SWT 2
M SWT SWT - Zwei Tabellen gleicher Größe AWT, Swing, JavaFX & SWT 5
S import von Klassen (zwei Panels eine Form) AWT, Swing, JavaFX & SWT 39
K Zwei Panels zentriert anordnen AWT, Swing, JavaFX & SWT 3
S Vereinen von zwei MenuBar AWT, Swing, JavaFX & SWT 3
P JList mit zwei Werten AWT, Swing, JavaFX & SWT 9
0 JMenuItem nicht in zwei JMenus möglich? AWT, Swing, JavaFX & SWT 2
G Variblenwert zwischen zwei Klassen übergeben AWT, Swing, JavaFX & SWT 3
B zwei JLabels überlappen lassen AWT, Swing, JavaFX & SWT 5
T Kommunikation zwischen Zwei GUI-Klassen AWT, Swing, JavaFX & SWT 2
O Zwei Listener auf Komponente, warten auf Beendigun? AWT, Swing, JavaFX & SWT 2
T Kommunikation zwischen zwei jFrames AWT, Swing, JavaFX & SWT 4
G Datenaustausch zwischen zwei JFrames AWT, Swing, JavaFX & SWT 3
K Zwei JFrames aneinanderdocken? AWT, Swing, JavaFX & SWT 5
A Eins von zwei offnen Fenster/Frames schließen AWT, Swing, JavaFX & SWT 2
S JTable zwei Text-Zeilen in einer Zelle AWT, Swing, JavaFX & SWT 2
hdi zeitgleiches fokusieren von zwei panels AWT, Swing, JavaFX & SWT 2
I JTable: "GLEICHZEITIG" zwei verschiedene TableMode AWT, Swing, JavaFX & SWT 2
R JDialog dispose() wird zwei mal aufgerufen AWT, Swing, JavaFX & SWT 2
T zwei panel und ein thread AWT, Swing, JavaFX & SWT 5
W Instanz eines Steuerelementes an zwei Stellen zeichnen AWT, Swing, JavaFX & SWT 3
M Zwei JMenuBars AWT, Swing, JavaFX & SWT 5
W JTree - aus zwei mach eins AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben