paint() wird nicht aufgerufen

thiele

Neues Mitglied
hallo,

ich bin neu in java und habe nun einige zeit lang versucht mit swing ein grid von quadraten zeichnen zu lassen. leider bin ich bisher erfolglos, alles was ich bekomme ist ein weisses fenster.

das problem ist, dass die paint() methode der square bzw geometricobject klasse nicht aufgerufen wird. ich hoffe jemand kann mir sagen wo das problem liegt.

da ich nicht genau weiss wo die ursache liegt muss ich den ganzen quelltext posten, ich hoffe das ist nicht schon zu viel fuer das problem.

hier meine main methode und drei klassen code:

main methode
Java:
import java.awt.*;
import javax.swing.JPanel;
import javax.swing.BorderFactory;

public class Main
{
	public static void main(String[] args)
	{
		MemoryFrame ellosFramos = new MemoryFrame();
	}
}

memoryframe klasse
Java:
import javax.swing.JFrame;
import java.awt.GridLayout;
import java.awt.*;

class MemoryFrame extends JFrame
{
	private GeometricObject geometricObjects[];

	MemoryFrame()
	{
		//super();
		setSize(400,500);
		setTitle("default");
		setLocation(100,400);
		setLayout(new GridLayout(8,8,3,3));

		geometricObjects = new GeometricObject[100];

		for (int i=0; i < geometricObjects.length; i++)
		{
			geometricObjects[i] = new Square();
		}

		setVisible(true);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
	}
}

geometric object klasse
Java:
import java.awt.*;
import javax.swing.JPanel;
import javax.swing.BorderFactory;

abstract class GeometricObject extends JPanel
{
	private Color fgColor, bgColor, borderColor;
	private Dimension dim;
	private double relativeSize;

	GeometricObject() {
		super();
		setFgColor(rndCol());
		setBgColor(rndCol());
		setBorderColor(rndCol());
		System.out.println("GeoMetr CTOR"+getSize());
		relativeSize = Math.random(); 
	}
	GeometricObject(Color fgColor, Color bgColor, Color borderColor )
	{
		super();
		setFgColor(fgColor);
		setBgColor(bgColor);
		setBorderColor(borderColor);
		
	}

	public void setFgColor (Color fgColor)
	{
		this.fgColor = fgColor;
	}

	public void setBgColor (Color bgColor)
	{
		this.bgColor = bgColor;
	}

	public void setBorderColor (Color borderColor)
	{
		this.borderColor = borderColor;
	}

	@Override
	public void paint(Graphics g)
	{
		super.paint(g);
		System.out.println("paint() is called");
		g.setColor(fgColor);
		dim = getSize();

		int midWidth = dim.width / 2;
	        int midHeight = dim.height / 2;
        
	        int width = (int)(dim.width*relativeSize);
	        int height = (int)(dim.height*relativeSize);
        
	        int length = Math.min(width, height);
   
	        int relativeSetPointX = midWidth - (length / 2);
	        int relativeSetPointY = midHeight - (length / 2);
		specialPaint(g, length, relativeSetPointX, relativeSetPointY);
	}

	private Color rndCol()
	{
		int high = 256;
		return new Color((int)(Math.random() * high), (int)(Math.random() * high), (int)(Math.random() * high));
	}

	abstract public void specialPaint(Graphics g, int size, int relativeSetPointX, int relativeSetPointY); 	

}

square klasse
Java:
import java.awt.*;
import javax.swing.JFrame;

class Square extends GeometricObject
{
	Square ()
	{
		super();
		System.out.println("Square CTOR");
	}

	@Override
	public void specialPaint(Graphics g, int size, int relativeSetPointX, int relativeSetPointY)
	{
		System.out.println("special Paint");
		g.fillRect(relativeSetPointX,relativeSetPointY,size,size);
	}
}


vielen dank schonmal im vorraus,

mfg
thiele
 
G

Gast2

Gast
Du musst die Square Objekte noch irgend nem Container hinzufügen. Von alleine machen die gar nichts. Außerdem überschreibt man in Swing die paintComponent Methode, nicht die paint Methode.
 

thiele

Neues Mitglied
nice, danke dir. mit add(geometricObjects); in der for schleife aus MemoryFrame.java hat es geklappt. Ist ja auch total logisch - ich hatte da gestern nur keinen Kopf mehr fuer ^^

Danke auf jedenfall.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Interface JButton etc. wird in JFrame mit paint() nicht angezeigt Java Basics - Anfänger-Themen 6
L Paint() wird scheinbar nicht richtig ausgeführt Java Basics - Anfänger-Themen 8
G hintergrund wird nicht gezeichnet bei paint() Java Basics - Anfänger-Themen 3
K Wieso wird "paint" nicht ausgeführt ? Java Basics - Anfänger-Themen 2
T Vererbung Wann wird die Methode paint aufgerufen? Java Basics - Anfänger-Themen 4
F Swing - Fehler - Paint Methode Java Basics - Anfänger-Themen 7
S awt: paint Methode zeigt nichts an Java Basics - Anfänger-Themen 9
S Paint Anwendung: Freihandlinien zeichnen Java Basics - Anfänger-Themen 4
S Erste Schritte drawOval Problem in Paint Anwendung Java Basics - Anfänger-Themen 1
R Begrenzer Anzahl von paint() ? Java Basics - Anfänger-Themen 3
S KeyListener/ActionListener/paint()/repaint() Java Basics - Anfänger-Themen 3
thet1983 start & paint Methode? Java Basics - Anfänger-Themen 0
M Probleme mit paint() aus java.awt.Graphics Java Basics - Anfänger-Themen 2
D Wert einer Variable in paint-Methode verwenden Java Basics - Anfänger-Themen 2
OnDemand Berechnung in die start und paint Methode eines Applets Java Basics - Anfänger-Themen 28
N aus Container components paint Java Basics - Anfänger-Themen 2
J paint() vs repaint() Java Basics - Anfänger-Themen 3
A Problem mit paint() Java Basics - Anfänger-Themen 2
A Aufruf der paint() Methode Java Basics - Anfänger-Themen 3
Dogge Problem mit paint(Graphics g) im Applet Java Basics - Anfänger-Themen 13
J Problem mit paint(Graphics g) Java Basics - Anfänger-Themen 4
L Erste Schritte Swing oder SWT Paint mit Grafikkarte? Java Basics - Anfänger-Themen 7
K paint() mit einfügen Java Basics - Anfänger-Themen 14
K doppeltes paint beim Drucken Java Basics - Anfänger-Themen 8
J paint-methode blockiert settings von JComponents Java Basics - Anfänger-Themen 5
F Eine Frage über paint() Funktion Java Basics - Anfänger-Themen 2
S [Applet] Objekte von init bei paint benutzen Java Basics - Anfänger-Themen 9
R Methoden Zeichnen auf Button-Druck durch Paint-Methode Java Basics - Anfänger-Themen 2
W repaint() ruft paint() nicht auf Java Basics - Anfänger-Themen 9
J Zweimal im gleichen Paint-Fenster malen Java Basics - Anfänger-Themen 8
A paint() methode von externer Klasse aufrufen Java Basics - Anfänger-Themen 3
J Paint Methode von JPanel aufrufen Java Basics - Anfänger-Themen 15
V paint funktioniert nicht Java Basics - Anfänger-Themen 14
Q Zeichnen außerhalb der paint-methode Java Basics - Anfänger-Themen 7
O Paint Programm mit Fehler Java Basics - Anfänger-Themen 2
A Methoden Variablen in paint methode Java Basics - Anfänger-Themen 4
K Problem mit Parameter von paint(Graphics g) Java Basics - Anfänger-Themen 3
Y im applet malen ohne repaint paint ? Java Basics - Anfänger-Themen 6
S Datentypen Paint Programm Java Basics - Anfänger-Themen 7
M paint-Methode funzt nicht Java Basics - Anfänger-Themen 11
L Paint zeichnet nicht gespeicherte Objekte Java Basics - Anfänger-Themen 3
D OOP paint() Methode aus Unterklasse anstoßen Java Basics - Anfänger-Themen 3
A paint() - warum nicht aufrufen? Java Basics - Anfänger-Themen 3
K Scrollbar - Bild - paint-Methode - zoom Java Basics - Anfänger-Themen 10
S super.paint() Java Basics - Anfänger-Themen 4
S Bild aus paint() Methode auslagern Java Basics - Anfänger-Themen 14
T Etwas an paint()-Methode übergeben? Java Basics - Anfänger-Themen 6
TheKing Paint-Methode aufrufen Java Basics - Anfänger-Themen 14
N paint methode statt Event-Handling-Methode Java Basics - Anfänger-Themen 3
M Paint und JColorChooser Java Basics - Anfänger-Themen 12
H Paint Methode malt nicht im Panel Java Basics - Anfänger-Themen 4
S Frage zur paint-Methode Java Basics - Anfänger-Themen 3
B Applet: Event-Handling-Methode in start- bzw. paint-Methode Java Basics - Anfänger-Themen 7
G Nichtstatische Objekte in der paint()-Methode Java Basics - Anfänger-Themen 16
K JPanel, JFrame, paint() und wo ist mein Viereck ? Java Basics - Anfänger-Themen 19
F Frage zu JPanel und Paint Java Basics - Anfänger-Themen 5
P paint Methode Java Basics - Anfänger-Themen 3
M Problem mit paint() und Container. Java Basics - Anfänger-Themen 8
B Paint(Component) und externe Objekte Java Basics - Anfänger-Themen 6
T rotes herz public void paint(Graphics g) Java Basics - Anfänger-Themen 2
F Applets und die paint-Methode Java Basics - Anfänger-Themen 3
G frage zu paint Java Basics - Anfänger-Themen 3
T Mehrere paint Methoden in unterschiedlichen Klassen Java Basics - Anfänger-Themen 7
G start-oder paint-Methode anstatt Event-Handling-Methode? Java Basics - Anfänger-Themen 3
G Hilfe in paint() ; zeichnen Java Basics - Anfänger-Themen 15
C Einfaches Paint-Programm Java Basics - Anfänger-Themen 9
T .paint() aufrufen Java Basics - Anfänger-Themen 23
S Paint Teilweise Zeitverzögert Java Basics - Anfänger-Themen 6
R paint problem Java Basics - Anfänger-Themen 6
G mit paint() ins JPanel malen. Java Basics - Anfänger-Themen 6
M Auf Panels oder Labels malen? (paint) Java Basics - Anfänger-Themen 9
G repaint in paint aufrufen? Java Basics - Anfänger-Themen 9
V paint()-methode manuell aufrufen? kein autostart erwuenscht Java Basics - Anfänger-Themen 3
B Problem mit Einfügen von Choice (in ein Applet) aus Paint Java Basics - Anfänger-Themen 13
7 In Paint keine Schleife? Java Basics - Anfänger-Themen 13
T paint() wieder aus einder anderen methode aufrufen funzt nid Java Basics - Anfänger-Themen 2
G Paint auf Panel Java Basics - Anfänger-Themen 4
G Paint Methode löscht alles Java Basics - Anfänger-Themen 4
S paint() direkt auf JFrame seit 1.5 nicht mehr möglich? Java Basics - Anfänger-Themen 5
A Variablenübergabe in die Paint-Funktion Java Basics - Anfänger-Themen 4
D Zeichnen mit Paint zerstört ganzes Fenster Java Basics - Anfänger-Themen 5
G Klassen und paint methode Java Basics - Anfänger-Themen 2
T paint() ohne konstruktor aufzurufen? Java Basics - Anfänger-Themen 5
P paint() Java Basics - Anfänger-Themen 6
U paint Java Basics - Anfänger-Themen 8
X Malen außerhalb der paint() Methode Java Basics - Anfänger-Themen 4
C zu viele paint()'s. Java Basics - Anfänger-Themen 6
G Zeichnen ausserhalb der paint Methode Java Basics - Anfänger-Themen 4
V Problem mit der Anzeige einer paint-Methode in einem Panel Java Basics - Anfänger-Themen 2
N Probleme mit paint() bei Implementierung in ein Panel Java Basics - Anfänger-Themen 4
Dilandau paint(Graphics g) { unbekannt in try{} / catch{} }? Java Basics - Anfänger-Themen 5
D von paint() und repaint() im Applet Java Basics - Anfänger-Themen 4
C Ausgaben mit der Paint-Methode Java Basics - Anfänger-Themen 5
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
T if-else Bedingung wird ignoriert Java Basics - Anfänger-Themen 4
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
P Webseite vom Smartmeter wird nur unleserlich angezeigt Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben