OOP und ich - das verträgt sich nich...

Status
Nicht offen für weitere Antworten.

muemmel_0811

Bekanntes Mitglied
Hi,

ja, ich weiß, ich hab doch gerade erst eine Frage gestellt, aber sogleich drängt sich mir die nächste auf - sorry.
Ich hab gerade etwas Zeit und versuche ein von mir vor ca. 2 Jahren geschriebenes Programm etwas aufzupeppen und zugleich auch ein bisschen sauberer zu programmieren - an letzterem scheiter ich vor lauter Unwissenheit aber ganz massiv :oops:

Nun wollte ich das Objekt (es wird mal ein Gitter), das ich vorher einfach in die paintComponent des JPanels geschrieben habe, in eine eigene Datei auslagern, da ich mir gedacht hab, dass das doch eigentlich ein ganz nettes Objekt ist, das es verdient hat, auch mal als solches behandelt zu werden. Dumm nur, dass es sich nicht zeichnet :(
Code:
Akk_q.java
...
   Color col = Color.pink;
   public class PicturePanel extends JPanel{
        private static final long serialVersionUID = 1L;
        
        PicturePanel(){
            setBackground(new Color(255,255,255));
            setLayout(null);
        }
        
        public void paintCompoment(Graphics g) {
            super.paintComponent(g);
            Grid grid = new Grid();
            grid.drawGrid(g, col);
        }
    }
...

#############

Grid.java
public class Grid {
    Akk_q aq;
    Grid() {
    }
    public void drawGrid(Graphics g, Color c) {
        Graphics2D g2 = (Graphics2D) g;
        g2.setColor(c);
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
        BasicStroke stil0 = new BasicStroke(5.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER);
        g2.setStroke(stil0);
        Line2D.Float stab0 = new Line2D.Float(30.0f, 40.0f, 30.0f, 130.0f);
        g2.draw(stab0);
        aq.repaint();
    }
}
Ich vermute ja mal, dass es am Ort des repaint-Aufrufes liegt, aber auch andere Versuche, das repaint zu platzieren haben leider keinen Erfolg gezeigt.

Was muss ich ändern, damit dieses Gitter auf das PicturePanel gezeichnet wird?

Danke und Grüße,
muemmel_0811
 

0x7F800000

Top Contributor
Java:
        public void paintCompoment(Graphics g) {
            super.paintComponent(g);
            Grid grid = new Grid();
            grid.drawGrid(g, col);
        }
Herzlichen Glückwunsch, jetzt weißt du ganz exakt, wieso vor jede überschriebene methode eine @Override Annotation hingehört :autsch:

Java:
    Akk_q aq;
von wo kam dieser bezeichner denn hergekrabbelt? :eek:
Java:
    public void drawGrid(Graphics g, Color c) {
        Graphics2D g2 = (Graphics2D) g;
        g2.setColor(c);
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
        BasicStroke stil0 = new BasicStroke(5.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER);
        g2.setStroke(stil0);
        Line2D.Float stab0 = new Line2D.Float(30.0f, 40.0f, 30.0f, 130.0f);
        g2.draw(stab0);
        aq.repaint();
    }
dieses aq.repaint() scheint hier absolut nicht hinzugehören, unabhängig davon, was dieses "aq" sein soll...

Was muss ich ändern, damit dieses Gitter auf das PicturePanel gezeichnet wird?
@Override Annotation vor jede überschrieben geglaubte methode setzen, insbesondere vor "paintCompoment()" :autsch:
 
Zuletzt bearbeitet:

muemmel_0811

Bekanntes Mitglied
public void paintCompoment(Graphics g) { super.paintComponent(g); Grid grid = new Grid(); grid.drawGrid(g, col); }
Herzlichen Glückwunsch, jetzt weißt du ganz exakt, wieso vor jede überschriebene methode eine @Override Annotation hingehört :autsch:
Nu - und jetzt steht's davor und alles was passiert ist, dass Eclipse sich jetzt über paintComponent beschwert und "remove @Override Annotation" vorschlägt.???:L
Akk_q aq;
von wo kam dieser bezeichner denn hergekrabbelt? :eek:
Das war der zaghafte Versuch eines Java-Unwissenden, auf das PicturePanel aus der anderen Datei zuzugreifen, damit ich an die repaint-Methode vom PicturePanel komme.:oops:
public void drawGrid(Graphics g, Color c) { Graphics2D g2 = (Graphics2D) g; g2.setColor(c); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON); BasicStroke stil0 = new BasicStroke(5.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER); g2.setStroke(stil0); Line2D.Float stab0 = new Line2D.Float(30.0f, 40.0f, 30.0f, 130.0f); g2.draw(stab0); aq.repaint(); }
dieses aq.repaint() scheint hier absolut nicht hinzugehören, unabhängig davon, was dieses "aq" sein soll...
Tja, hab ich ja auch schon gemerkt - und deswegen suche ich ja hier Hilfe...

Grüße,
muemmel_0811
 

0x7F800000

Top Contributor
Nu - und jetzt steht's davor und alles was passiert ist, dass Eclipse sich jetzt über paintComponent beschwert und "remove @Override Annotation" vorschlägt.???:L
Nein, tut es eben nicht. Es beschwert sich nicht über paintComponent, sondern über paintCompoment, das ist ja genau der Sinn von @Override, hättest du es gleich hingeschrieben, wäre dir das auch sofort aufgefallen... :noe: Deine paintComponent wurde nicht überschrieben, und tut natürlich gar nichts, deswegen siehst du auch nichts... :rolleyes:
 

muemmel_0811

Bekanntes Mitglied
Nein, tut es eben nicht. Es beschwert sich nicht über paintComponent, sondern über paintCompoment, das ist ja genau der Sinn von @Override, hättest du es gleich hingeschrieben, wäre dir das auch sofort aufgefallen... :noe: Deine paintComponent wurde nicht überschrieben, und tut natürlich gar nichts, deswegen siehst du auch nichts... :rolleyes:
Danke Dir :toll: - ich hab den halben Tag schon Rechtschreibfehler woanders suchen müssen - und bin langsam aber sicher echt betriebsblind - sorry.

Danke und Grüße vom muemmel_0811
 

muemmel_0811

Bekanntes Mitglied
wenn du selber stundenlang fehler suchst, die der compiler in 5 millisekunden finden könnte, bist du weniger betriebsblind, sondern eher bescheuert ;)
Stell Dir vor, es gibt hier auch Menschen, die mit Java nicht beruflich hantieren und sich folglich nicht den ganzen Tag damit beschäftigen - ich hab Rechtschreibfehler woanders gesucht und wenn woanders in Deiner Welt nur in einem anderen Quellcode sein kann, dann muss ich Dir leider sagen, dass Buchstaben und Worte auch außerhalb der Quellcode-Welt eingesetzt werden...

So, ich will mich nicht streiten, aber das hier ist das Anfängerforum und ich erhebe keinerlei Anspruch darauf, qualitativ hochwertige Fragen gestellt zu haben, aber mich anpampen lassen muss ich nu auch nicht :noe: und wenn Du gleich geschrieben hättest, dass da ein Rechtschreibfehler ist und man soetwas mit @Override bemerken kann, dann wäre mir als Anfänger mehr geholfen gewesen und ich hätte vielleicht auch erfahren, wofür @Override eigentlich gut ist, denn Annotations sind sicherlich nicht in der typischen Einsteigerliteratur ganz vorne zu finden.

Grüße und ein schönes Wochende,
muemmel_0811
 

0x7F800000

Top Contributor
Stell Dir vor, es gibt hier auch Menschen, die mit Java nicht beruflich hantieren und sich folglich nicht den ganzen Tag damit beschäftigen
kann's mir gut vorstellen, schließlich trifft auf mich ja beides zu :autsch:
So, ich will mich nicht streiten, aber das hier ist das Anfängerforum und ich erhebe keinerlei Anspruch darauf, qualitativ hochwertige Fragen gestellt zu haben, aber mich anpampen lassen muss ich nu auch nicht :noe:
waar ja nich bös gemeint löl^^ :oops:
wenn Du gleich geschrieben hättest, dass da ein Rechtschreibfehler ist und man soetwas mit @Override bemerken kann, dann wäre mir als Anfänger mehr geholfen
glaub ich nicht. Hätte ich direkt auf den schreibfehler hingewiesen, hättest du ihn womöglich korrigiert, und override gleich vergessen.
ich hätte vielleicht auch erfahren, wofür @Override eigentlich gut ist
jetzt wo du es an einem konkreten schwer auffindbaren fehler erfolgreich angewandt hast, weißt du es ja
denn Annotations sind sicherlich nicht in der typischen Einsteigerliteratur ganz vorne zu finden.
hast auch wieder recht, aber jetzt kennst du es ja :)
Nich aufregen, der ist doch Russe :lol:
Gghenau das, kamerrad :D
Einfach meine Aussagen immer mit faktor 0.3 multiplizieren und nicht gleich aufregen, ok? Wenn ich jemanden unbedingt ärgern will, dann hänge ich mt sicherheit keine ";)"-Smileys dran^^
 
Zuletzt bearbeitet:

muemmel_0811

Bekanntes Mitglied
OK, dann ist ja alles wieder gut und streiten nicht länger :)

Danke Dir für Deine Hilfe!

Grüße vom muemmel_0811


P.S.: Du kennst mein Mikro-Hirn nicht - @Override werde ich noch öfter in meinem Leben neu kennen lernen :oops:
 

Lexi

Bekanntes Mitglied
Ist paintComponent nicht eigentlich protected ? Oder kann man den Modifier einer Methode ändern, wenn man sie überschreibt ?

Java:
@Override
protected void paintComponent(Graphics g){
// ...
}
 

Ark

Top Contributor
Ein Objekt einer abgeleiteten Klasse kann (gegenüber einem Objekt der Vaterklasse) "mehr" - aus Sicht einer dritten Klasse. War vorher paintComponent() nicht zugänglich so ist sie es vielleicht in einer abgeleiteten Klasse. Die Sichtbarkeit kann aber nicht wieder eingeschränkt werden (siehe erster Satz).

Ark
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M OOP und ich - irgendwie verträgt sich das noch nicht. Java Basics - Anfänger-Themen 6
O Obfuscateter Code lässt sich nicht ausführen? Java Basics - Anfänger-Themen 7
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
KogoroMori21 Wann ist der richtige Zeitpunkt, um sich Hilfe zu suchen? (Bin Informatik-Student) Java Basics - Anfänger-Themen 10
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
G jar file lässt sich nicht öffnen Java Basics - Anfänger-Themen 1
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 4
berserkerdq2 Spiel hängt sich immer in der 4 Runde auf, obwohl ich jede Runde das gleiche mache Java Basics - Anfänger-Themen 1
GoenntHack Java Text von JLabel verändert sich nicht Java Basics - Anfänger-Themen 1
E multiple Timer die sich nicht summieren Java Basics - Anfänger-Themen 12
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
A Konsolenausgabe verschiebt sich Java Basics - Anfänger-Themen 8
M Wie lassen sich Konstanten in Bedingung stellen? Java Basics - Anfänger-Themen 1
M Wie lassen sich Objektkonstanten initialisieren, wenn sie eine Bedingung erreichen? Java Basics - Anfänger-Themen 6
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
B Programm beendet sich nicht und weiteres seltsames Verhalten Java Basics - Anfänger-Themen 9
Nina Pohl Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist Java Basics - Anfänger-Themen 6
H 36 Zufallszahlen die sich nicht wiederholen Java Basics - Anfänger-Themen 27
E Warum lässt sich eine Klasse nicht starten, wenn eine andere Klasse in dem Modul fehlerhaft ist? Java Basics - Anfänger-Themen 1
IamArctic Quaxli Tutorial, Rotorblätter bewegen sich nicht mehr Java Basics - Anfänger-Themen 4
M Java GUI label ändert sich erst zum Schluss Java Basics - Anfänger-Themen 4
H Liste speichern. Was lässt sich verbessern? Java Basics - Anfänger-Themen 7
X Kurzes Java-Programm, das sich komisch verhält Java Basics - Anfänger-Themen 6
J CMD schließt sich automatisch Java Basics - Anfänger-Themen 5
S Was für Aufgaben könnten sich hier hinter verbergen? Java Basics - Anfänger-Themen 5
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
F boolean stellt sich auf true Java Basics - Anfänger-Themen 15
H Datentypen Was für eine Format verbirgt sich hinter dem Integer-Wert 053? Java Basics - Anfänger-Themen 2
A Haben KNNs ein Gedächtnis, lernen etwas oder verändern sich, während sie nicht trainieren, aber aktiv sind? Java Basics - Anfänger-Themen 3
M Werte ändern sich nicht mehr nach Reset Java Basics - Anfänger-Themen 14
H Punkt bewegt sich auf einer Ellipse Java Basics - Anfänger-Themen 6
X Erste Schritte boolean wert ändert sich nicht? Java Basics - Anfänger-Themen 6
I Klassen Eine ArrayList<Long>, die sich automatisch sortiert Java Basics - Anfänger-Themen 20
Franzi1001 ScrollBar lässt sich nicht bewegen Java Basics - Anfänger-Themen 4
W Client verbindet sich nicht Java Basics - Anfänger-Themen 14
J Mein Programm beendet sich ohne mein Zutun Java Basics - Anfänger-Themen 9
J Zwei Klassen die sich gegenseitig referenzieren - Bad practice? Java Basics - Anfänger-Themen 4
N Bewegtes Objekt soll sich um eine Parallele bewegen Java Basics - Anfänger-Themen 0
K Zufalsszahl soll sich nicht wiederholen Java Basics - Anfänger-Themen 9
C Classpath Compiler lässt sich nur bedingt von Kommandozeile aus starten Java Basics - Anfänger-Themen 17
CptK Datentypen Objekt lässt sich nicht zu arraylist hinzufügen Java Basics - Anfänger-Themen 2
L Mein Taschenrechner lässt sich plötzlich nicht mehr öffnen Java Basics - Anfänger-Themen 5
CptK Interface JLabel bewegt sich nicht sondern teleportiert sich... Java Basics - Anfänger-Themen 3
P jar file lässt sich nicht ausführen Java Basics - Anfänger-Themen 4
L Programm lässt sich nicht starten! Java Basics - Anfänger-Themen 1
pkm Interface Funktionales Interface lässt sich nicht implementieren. Java Basics - Anfänger-Themen 2
Hanschyo Programm schließt sich einfach Java Basics - Anfänger-Themen 2
L Panel verkleinert sich unerklärlicherweise Java Basics - Anfänger-Themen 7
J JFrame Fenster öffnet sich nicht Java Basics - Anfänger-Themen 7
x-tshainge Mein Programm lässt sich nicht Starten Java Basics - Anfänger-Themen 8
S Nach dem Herüberschieben eines Arrays zwischen 2 Frames öffnet sich das Frame nicht mehr Java Basics - Anfänger-Themen 12
B Java -Turtle Grafik - kennt sich jemand damit aus? Java Basics - Anfänger-Themen 1
K Sysout wiederholt sich Java Basics - Anfänger-Themen 6
H Wieso öffnet sich der Texteditor? Java Basics - Anfänger-Themen 6
B Classpath Class lässt sich nicht öffnen Java Basics - Anfänger-Themen 3
J Java-Dateien lassen sich nicht editieren Java Basics - Anfänger-Themen 46
T Schleife fährt sich fest Java Basics - Anfänger-Themen 14
E App lässt sich nicht starten Java Basics - Anfänger-Themen 8
ZotacZ Best Practice Lohnt es sich in GWT einzuarbeiten? Java Basics - Anfänger-Themen 4
E Pdf-Document lässt sich im Servlet nicht öffnen Java Basics - Anfänger-Themen 5
G KeyListener und JButton vertragen sich nicht Java Basics - Anfänger-Themen 1
S String ändert sich nicht Java Basics - Anfänger-Themen 2
Bregedur Methoden Matcher und Pattern bei sich wiederholenden Werten Java Basics - Anfänger-Themen 1
P Compiler-Fehler Wo befindet sich hier der Fehler und warum? Java Basics - Anfänger-Themen 21
F MouseMotionListener - Objekt bewegt sich nicht Java Basics - Anfänger-Themen 1
S Erste Schritte Java Applet lässt sich im Browser nicht öffnen Java Basics - Anfänger-Themen 9
G Was hat es mit java.net.* auf sich? Java Basics - Anfänger-Themen 10
X Streams und Ausgabe - lässt sich das einfacher schreiben oder schöner schreiben? Java Basics - Anfänger-Themen 5
J Kann eine .jar sich selber Löschen? Java Basics - Anfänger-Themen 5
OlafHD Java Uhrzeit aktualisiert sich nicht Java Basics - Anfänger-Themen 2
J Java Datei lässt sich nicht kompilieren Java Basics - Anfänger-Themen 3
J Reihenfolge im Vector lässt sich nicht drehen Java Basics - Anfänger-Themen 9
J Wie lässt sich der Konstruktor einer Klasse einer Funktion einer Klasse nutzen. Java Basics - Anfänger-Themen 4
W OOP Zwei Objekte beziehen sich aufeinander (Zirkelbezug)? Java Basics - Anfänger-Themen 4
cezary Server läßt sich nicht starten Java Basics - Anfänger-Themen 2
X wie kann ich in bluej/java einene 2d array mit zahlen fuellen, so dass sich diese in der der zeilen Java Basics - Anfänger-Themen 2
S Variable (int) erhöht sich nicht richtig Java Basics - Anfänger-Themen 18
B Konsole schließt sich sofort Java Basics - Anfänger-Themen 8
Fishmeaker Methoden mit Methoden aufrufen - Programm hängt sich auf Java Basics - Anfänger-Themen 5
F Inhalt einer Variable auswerten, die sich immer wieder ändert Java Basics - Anfänger-Themen 1
T Methoden [GELÖST ]Warum ruft sich die Methode von alleine auf? Java Basics - Anfänger-Themen 3
J Erstes Applet läßt sich nicht anzeigen Java Basics - Anfänger-Themen 2
M Array mit Objekten lässt sich nicht auslesen Java Basics - Anfänger-Themen 10
T Scanner lässt sich nicht importieren Java Basics - Anfänger-Themen 1
Lord.Djerun (Netbeans) Bei TimeUnit.Seconds,Sleep() hängt sich das komplette Programm auf.. Java Basics - Anfänger-Themen 8
P Programm lässt sich nicht starten - Klasse mit Hauptmethode nicht gefunden Java Basics - Anfänger-Themen 9
B Compiler-Fehler [Lejos] [RCX] Programm lässt sich nicht kompilieren Java Basics - Anfänger-Themen 5
N Variablen Array-Variable verändert sich Java Basics - Anfänger-Themen 12
HoloYoitsu BufferedReader verhält sich seltsam Java Basics - Anfänger-Themen 10
S Programm verhält sich in Eclipse anders, als ein eigenständiges Programm Java Basics - Anfänger-Themen 5
N Von Kopf bis Fuss TestArrays lässt sich nicht lösen Java Basics - Anfänger-Themen 5
S Rückgabe-Array lässt sich nicht auslesen, LocalDate mit String Java Basics - Anfänger-Themen 3
dat_vin JFrame öffnet sich mehrmals Java Basics - Anfänger-Themen 6
Bluedaishi Dateien Lassen sich unter windows nicht löschen Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben