getGraphics().setColor funktioniert nicht

Status
Nicht offen für weitere Antworten.

icarus2

Top Contributor
Ahoi!

Ich habe vorhin von jmd etwas Code geschickt bekommen, bei dem ich einen Fehler beheben soll. Leider konnte ich diesen nicht beheben. Das Problem ist, dass k.setColor(farbe) in Zeile 37 nicht funktioniert.

Ich habe vor kurzem hier im Forum gelesen, dass getGraphics() fast immer die falsche Lösung sei (wenn ich mich richtig erinnere hat das Lectron geschrieben).

Liegt das Problem wirklich daran oder nicht?

Wann kann getGraphics() verwendet werden? Habe leider beim Googlen nie wirklich einen Beitrag gefunden darüber, wann man getGraphics() verwenden soll/ kann.

Hier mal den Code:

[Java]
import java.awt.*;
import java.applet.Applet;
import java.awt.event.*;

public class KreiseKlicken extends Applet implements MouseListener {

public void init() {
addMouseListener(this);
}
public void paint(Graphics g) {
g.drawString("Quadrate zeichnen mit Klicken",10,10);
}
public void mousePressed(MouseEvent e) {
// Maus-Koordinaten abfragen
int xMouse = e.getX();
int yMouse = e.getY();
// Graphics Objekt holen
Graphics g = getGraphics();
// hier int-Zufallszahl zwischen 10 und 50 ausprogrammieren!
int groesse = (int)(10+Math.random()*40);
Color zufallsfarbe = new Color((int)Math.random()*256, (int)Math.random()*256,
(int)Math.random()*256);
zeichneQuadratMitDiagonalen(xMouse, yMouse, groesse,g, zufallsfarbe);
}
/* Die folgenden 4 Methoden werden als leere Methoden definiert. Sie müssen
im Applet definiert werden, da sie im Interface "MouseListener" spezifiziert
sind */
public void mouseReleased(MouseEvent e) {}
public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}

// Methode zeichneQuadratMitDiagonalen selber ausprogrammieren
// der angeklickte Punkt P(x,y) soll der Diagonalenschnittpunkt sein
// Farbe von Quadrat und Diagonalen gleich, aber zufällig
public void zeichneQuadratMitDiagonalen(int x, int y, int kantenlaenge, Graphics k, Color farbe) {
k.setColor(farbe);
k.drawRect(x-kantenlaenge/2, y-kantenlaenge/2,kantenlaenge, kantenlaenge);
k.drawLine(x-kantenlaenge/2, y-kantenlaenge/2,x+kantenlaenge/2, y+kantenlaenge/2);
k.drawLine(x-kantenlaenge/2, y+kantenlaenge/2,x+kantenlaenge/2, y-kantenlaenge/2);
}
}
[/Java]
 
S

SlaterB

Gast
> Wann kann getGraphics() verwendet werden? Habe leider beim Googlen nie wirklich einen Beitrag gefunden darüber, wann man getGraphics() verwenden soll/ kann.

einfach: nie,
es sei denn du bist wirklich so gut, dass du die Artikel schreibst, die bei google gefunden werden statt andersrum ;)

repaint()/ paint()/ paintComponent() funktioniert
 

icarus2

Top Contributor
Hmm, ok, ich glaube so weit bin ich noch nicht. Hoffe aber, dass das irgendwann mal wird :)


Danke für die Antwort.
 

icarus2

Top Contributor
Mann, das ganze lässt mir jetzt einfach keine Ruhe... ^^


Hier z.B. in diesem Tutorial wird auch getGraphics() verwendet und das sieht für mich wie ein Anfängertutorial aus.


Gut, da wird auch ein Objekt gross geschrieben ^^ Einfach falsch wie das da gemacht wird?

Tutorial... 3.2 den Code anschauen.


Falls das im Tutorial da wirklich falsch gemacht wird... könntest du mir bitte 2-3 Beispiele nennen, wofür man das gebrauchen kann... ich bin immer so neugierig ;-)
 
S

SlaterB

Gast
lies in dem Tutorial mal ab

> So haben Sie vielleicht bereits bemerkt, dass eine Zeichnung verschwindet, wenn Ihr Applet von einem anderen Fenster verdeckt wird und dann wieder von Ihnen sichtbar gemacht wird.

weiter

------

brauchen kann man es, so weit ich weiß, wenn man wie ein Film oder ein Spiel durchgehend 30x pro Sekunde etwas neu zeichnen möchte,

-----

wird denn zeichneQuadratMitDiagonalen() ausgeführt?
aber die Farbe ist falsch, immer schwarz oder wie?
werde es heute nicht mehr testen können
 

Michael...

Top Contributor
Zeichnen sollte man nur in dem man paint(Graphics g) bzw. paintComponent(Graphics g)
überschreibt. Den alles was man "ausserhalb" zeichnet verschwindet beim nächsten repaint() der Komponente.
Also statt der Methode zeichneQuadrat... eine Methode erzeugeQuadrat... verwenden, in der ein entsprechendes Objekt erzeugt und z.B. in einer Liste gespeichert wird. In der paint(...) die Liste abarbeiten und die darin gespeicherten Objekte zeichen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J getGraphics() vermeiden AWT, Swing, JavaFX & SWT 15
Q getGraphics() - NullPointerException AWT, Swing, JavaFX & SWT 8
P Swing Frage zu paintComponent/getGraphics AWT, Swing, JavaFX & SWT 4
hdi Swing Frage zu getGraphics() AWT, Swing, JavaFX & SWT 7
Kr0e Transparentes Image -> getGraphics AWT, Swing, JavaFX & SWT 8
C getGraphics() liefert nur null AWT, Swing, JavaFX & SWT 4
H wie, wenn nicht mit getGraphics ? AWT, Swing, JavaFX & SWT 10
H getGraphics() eines JPanel liefert immer null zurück AWT, Swing, JavaFX & SWT 6
B JPanel -> getGraphics() AWT, Swing, JavaFX & SWT 2
H JavaFX PixelWriter.setColor setzt Farbe nicht AWT, Swing, JavaFX & SWT 2
U Warum nutzt man manchmal setpaint und manchmal setcolor? AWT, Swing, JavaFX & SWT 2
Arif Swing getContentPane vs setColor AWT, Swing, JavaFX & SWT 1
M setColor mit Fehler cannot fiend symbol (java.awt.Color) AWT, Swing, JavaFX & SWT 2
Juelin if Abfrage funktioniert nicht richtig AWT, Swing, JavaFX & SWT 10
C Button ActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
P AWT Programm funktioniert nicht richtig AWT, Swing, JavaFX & SWT 35
MartinNeuerlich Kann mir jemand, der einen Mac mit einem m1 oder m2-Chip hat, eine POM geben mit der Javafx-Fullscreen beim Mac mit m-Chip funktioniert? AWT, Swing, JavaFX & SWT 1
R auto. Importanweisungen für javafx funktioniert in Eclipse nicht mehr AWT, Swing, JavaFX & SWT 4
M Scrollbar funktioniert nicht AWT, Swing, JavaFX & SWT 10
D Repaint Funktioniert nicht AWT, Swing, JavaFX & SWT 2
W JEditorPane textausrichtung nach settext funktioniert nicht mehr AWT, Swing, JavaFX & SWT 11
H Swing Anpassen der Textgröße im JLabel funktioniert nur bedingt AWT, Swing, JavaFX & SWT 7
sserio JFrame setIconImmage() funktioniert nicht AWT, Swing, JavaFX & SWT 3
T Swing Tooltip-Delay funktioniert nicht immer. AWT, Swing, JavaFX & SWT 1
B Output GUI funktioniert nur beim ersten Mal richtig. AWT, Swing, JavaFX & SWT 4
sserio Wie funktioniert ein Controller bei JavaFx? AWT, Swing, JavaFX & SWT 1
U Wie funktioniert das rotieren unter 2dGraphics, also wie stelle ich z. B. 90° ein? AWT, Swing, JavaFX & SWT 1
U Wie funktioniert Polygon? AWT, Swing, JavaFX & SWT 1
U Wie genau funktioniert 2dgraphics, in diesem Bezug? AWT, Swing, JavaFX & SWT 4
S ChoiceBox aus ArrayList per setValue() mit Wert belegen funktioniert nicht. AWT, Swing, JavaFX & SWT 0
H KeyListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
H BufferedImage zurücksetzen funktioniert nicht AWT, Swing, JavaFX & SWT 12
H RPG Programmieren, label.setLocation funktioniert nicht AWT, Swing, JavaFX & SWT 7
EinNickname9 Einfacher parser funktioniert nicht AWT, Swing, JavaFX & SWT 2
F Swing Adapt Row Height funktioniert nicht richtig :( AWT, Swing, JavaFX & SWT 7
P Swing jxmapviewer hinzufügen/nutzen funktioniert nicht AWT, Swing, JavaFX & SWT 7
CptK Wie funktioniert contains() für Path2D.Double AWT, Swing, JavaFX & SWT 10
J Anbindung Textfeldklasse an Table funktioniert nicht AWT, Swing, JavaFX & SWT 3
R Actionlistener funktioniert nicht AWT, Swing, JavaFX & SWT 4
B Stylen eines JTextPane funktioniert nicht AWT, Swing, JavaFX & SWT 1
VPChief Swing Eclipse: Nach Exportieren, Button funktioniert nicht mehr AWT, Swing, JavaFX & SWT 26
H Bewegung funktioniert nicht AWT, Swing, JavaFX & SWT 3
N Pixelfarbe abgleichen funktioniert nicht AWT, Swing, JavaFX & SWT 5
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
N eclipse Java, bilder benutzten Funktioniert nicht AWT, Swing, JavaFX & SWT 6
Zrebna JavaFX-Projekt mit Bildern funktioniert nicht - um Hilfe wird gebeten AWT, Swing, JavaFX & SWT 14
steven789hjk543 Swing Weiß jemand, warum dieses Programm nicht funktioniert? AWT, Swing, JavaFX & SWT 7
M Swing setMaximumSize funktioniert nicht AWT, Swing, JavaFX & SWT 1
K JavaFX funktioniert nicht AWT, Swing, JavaFX & SWT 2
B AWT actionPerformed Method funktioniert nicht AWT, Swing, JavaFX & SWT 12
L JavaFX Drag and Drop funktioniert nicht AWT, Swing, JavaFX & SWT 3
M Swing Code funktioniert auf Windows aber nicht Linux... AWT, Swing, JavaFX & SWT 3
T LookAndFeel LookAndFeel funktioniert nicht beim JFrame wechsel AWT, Swing, JavaFX & SWT 3
J JavaFX addListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
P CardLayout funktioniert fehlerhaft AWT, Swing, JavaFX & SWT 13
L WrapLayout funktioniert nicht AWT, Swing, JavaFX & SWT 1
kodela Accalerator für einige Menüoptionen funktioniert nicht mehr AWT, Swing, JavaFX & SWT 3
S JavaFX mit javac compilieren funktioniert nicht AWT, Swing, JavaFX & SWT 2
K Swing Entfernen von Panel funktioniert nicht AWT, Swing, JavaFX & SWT 5
J AWT System Farben / java.awt.SystemColor funktioniert nicht AWT, Swing, JavaFX & SWT 4
G Swing Swing Binding JList funktioniert nicht AWT, Swing, JavaFX & SWT 5
it_is_all ActionListener umlenken/ updaten mit AddActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 3
K javafx app > "run in browser" funktioniert nicht AWT, Swing, JavaFX & SWT 3
N JavaFX GridPane Halignment funktioniert nicht AWT, Swing, JavaFX & SWT 1
it_is_all JLabel.setIcon - funktioniert nicht mehr AWT, Swing, JavaFX & SWT 2
R Ausgabe über JOptionPane.showMessageDialog funktioniert nicht AWT, Swing, JavaFX & SWT 2
L 2D-Grafik Frage zu Ellipse2D.Double, Abfrage, ob Punkt enthalten ist funktioniert nicht AWT, Swing, JavaFX & SWT 3
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
F "ActionListener" funktioniert nicht AWT, Swing, JavaFX & SWT 4
Z BoxLayout funktioniert nicht und Buttongröße AWT, Swing, JavaFX & SWT 18
C Java Hintergrund funktioniert nicht AWT, Swing, JavaFX & SWT 9
J Swing Wie funktioniert dieser ChangePropertyListener??? AWT, Swing, JavaFX & SWT 0
GreenTeaYT Button funktioniert nicht für Ein-und Auszahlungen? AWT, Swing, JavaFX & SWT 8
C Keylistener funktioniert nicht AWT, Swing, JavaFX & SWT 1
A Swing Programm funktioniert aber zwei Buttons werden angezeigt AWT, Swing, JavaFX & SWT 3
M UIManager funktioniert nicht mit Farben AWT, Swing, JavaFX & SWT 9
M Swing UIManager funktioniert nicht mit Farben AWT, Swing, JavaFX & SWT 0
T KeyListener funktioniert nicht wenn ich ein JButton hinzufüge AWT, Swing, JavaFX & SWT 1
S JavaFX wie funktioniert CSS und javaFX AWT, Swing, JavaFX & SWT 19
S KeyListener funktioniert nicht AWT, Swing, JavaFX & SWT 2
J JScrollPane funktioniert nicht AWT, Swing, JavaFX & SWT 5
M JavaFX Eventhandler Funktioniert nicht AWT, Swing, JavaFX & SWT 3
Sogomn JavaFX Injektion funktioniert nicht AWT, Swing, JavaFX & SWT 4
Blender3D Swing KeyBoardListener funktioniert nicht unter UBUNTU AWT, Swing, JavaFX & SWT 7
J JavaFX Button funktioniert(nicht) AWT, Swing, JavaFX & SWT 3
J DefaultCloseOperation funktioniert nicht AWT, Swing, JavaFX & SWT 9
F JavaFX ObservableList -- warum funktioniert das so.... AWT, Swing, JavaFX & SWT 3
R Swing Bewegung eines Graphics Objektes innerhalb eines JPanels funktioniert nicht richtig AWT, Swing, JavaFX & SWT 2
Paul15 Button funktioniert nur einmal AWT, Swing, JavaFX & SWT 9
D Swing Warum erhalte ich keine Ausgabe? Funktioniert der equals-vergleich in actionPeformed nicht richtig? AWT, Swing, JavaFX & SWT 3
H UpdatePolicy wird nicht richtig gesetzt / funktioniert nicht AWT, Swing, JavaFX & SWT 5
W Paint-Methode in anderer Klasse funktioniert nicht AWT, Swing, JavaFX & SWT 7
N KeyListener funktioniert nicht richitg AWT, Swing, JavaFX & SWT 4
L Event Handling wie funktioniert .getComponent? AWT, Swing, JavaFX & SWT 1
B JavaFX Scene Builder: resize funktioniert (meist) nicht AWT, Swing, JavaFX & SWT 6
J Swing Basics - JButton funktioniert nicht. AWT, Swing, JavaFX & SWT 1
D Passwort [Aber mit 3 Versuchen] Funktioniert nicht wie erwartet AWT, Swing, JavaFX & SWT 4
C Applet Applet funktioniert in Eclipse aber nicht in Browser AWT, Swing, JavaFX & SWT 1
J Zellen in JavaFx einfärben funktioniert nicht AWT, Swing, JavaFX & SWT 1
S Swing Warum funktioniert der automatische Zeilenumbruch mit arabischen Zeichen beim JTextPane nicht AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben