paint-Methode funzt nicht

MOEP_BIBER

Aktives Mitglied
Hey Leute,
ich programmiere erst seit 3 Wochen mit Java und bring es mir selbst bei also bitte habt Nachsicht^^
Ich hab vor ner Woche ein Mastermind Spiel programmiert und hab versucht mit der paint-Methode und g.drawOval() Kreise zu erstellen.
Jedoch is einfach nichts aufgetaucht und deshalb hab ich die Ergebnisausgabe dann einfach mit Textfeldern gemacht und diese einen schwarzen Background gegeben.
Da mich aber interessieren würde was ich falsch gemacht habe und ich irgendwann mal bestimmt diese Methode brauche post ich hier meinen Code und hoffe auf Antworten ;D

den Code habe ich zusammengekürzt, eigentlich hat diese Klasse 2500 zeilen.

Java:
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class Test {
	private JFrame jFrame = null; 
	private JPanel jContentPane = null;

	public Test(String d) {
		initialize();
        }

	private void initialize() {
		getJFrame();
		getJContentPane();
		jFrame.setVisible(true);
		jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
	}

	public void paint(Graphics g) {
		g.drawOval(20, 20, 20, 20);
		
	}

	private JFrame getJFrame() {
		if (jFrame == null) {
			jFrame = new JFrame();
			jFrame.setSize(new Dimension(438, 504));
			jFrame.setTitle("Mastermind");
			jFrame.setResizable(false);
			jFrame.setContentPane(getJContentPane());
		}
		return jFrame;
	}

	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
        }
		return jContentPane;
	}
}

Vielen Dank
 

Der Müde Joe

Top Contributor
In Swing zeichnet man in der paintComponent Methode und nicht in der paint (AWT).

Das JFrame hat bereits eine contentPane. brauchst du nicht extra zu erstellen.
Mach lieben ein neues JPaenl und added es der contentPane und mal darin

ca so
Java:
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.WindowConstants;


public final class ShowImage {

	private JFrame frame;
	private ImagePanel imagePanel;

	public ShowImage() {
		init();
	}

	private void init() {
		frame = new JFrame("Screenshot");
		frame.setSize(600, 450);
		imagePanel = new ImagePanel();
		frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		frame.getContentPane().add(imagePanel);
		frame.setVisible(true);
	}

	static class ImagePanel extends JPanel {

		public ImagePanel() {
		}

		@Override
		public void paintComponent(Graphics g) {
			super.paintComponent(g);
			g.fillOval(50, 50, 50, 50);
		}
	}

	public static void main(String[] args) throws Exception {
		new ShowImage();
	}
}
 

FArt

Top Contributor
Annahme: in der JavaDoc zur paint() Methode ist ein Link, den du vermutlich übersehen hast. Lies dir mal durch, was da alles steht.
 

MOEP_BIBER

Aktives Mitglied
hey ich hab das ganze probiert und es funktioniert,
nur leider versteh ich es nicht und deshalb bringts mir nichts =/
ich erstell den jframe mit dem visual editor in eclipse und kopier dann mein jpanel hinein.
was ist daran falsch?
und wieso kann man die paintcomponent methode nicht einfach aufrufen das wär wesentlich einfacher find ich =)
 

Michael...

Top Contributor
In deinem Code hat die Klasse Text zwar eine paint(Graphics g), das nützt Dir beim Zeichnen nichts -ausser Du rufst Sie selbst auf.
Zum Zeichnen musst Du die paint(Graphics g) [AWT] bzw. die paintComponent(Graphics g) [Swing] einer graphischen Komponente (z.B. JComponent) überschreiben (s. Bsp von Joe).
Die paint des JFrames würde ich nicht überschreiben.
MOEP_BIBER hat gesagt.:
und wieso kann man die paintcomponent methode nicht einfach aufrufen
Das verbietet Dir niemand. Nur was bezweckst Du damit?
 

LP_SE

Aktives Mitglied
Noch ein Tipp:
Wenn man schnell ein Verwaltungsprogramm oder ähnliches mit vielen Buttons, Textfeldern, oder Tabellen machen will, sind GUI-Builder wie der Visual Editor oder der von Netbeans eigentlich ganz gut, aber, wenn man selbst was zeichnen möchte, bzw. die Graphik variabel sein soll, sollte man diese selbst von Hand schreiben und nicht zusammenklicken, das gibt nur unnötig Probleme mit erstelltem Code oder Formatierung.
 

MOEP_BIBER

Aktives Mitglied
Hey Leute,
ich hab noch ne generelle Frage zu dem ganzen:
soll man die neue Panelklasse in der Klasse "ShowImage" erstellen oder kann man ne neue Java Datei mit der Klasse im selben Package erstellen?
Eclipse schlägt mir nämlich sofort vor eine neue Datei zu erstellen und nicht das ganze im selben Code zu machen.
Also was ist besser bzw gibts da n ungeschriebenes Gesetz oder sowas?^^

MfG Biber
 

Michael...

Top Contributor
soll man die neue Panelklasse in der Klasse "ShowImage" erstellen oder kann man ne neue Java Datei mit der Klasse im selben Package erstellen?
Eclipse schlägt mir nämlich sofort vor eine neue Datei zu erstellen und nicht das ganze im selben Code zu machen.
Also was ist besser bzw gibts da n ungeschriebenes Gesetz oder sowas?^^
Da gibt's kein grundsätzliches "Gesetz". Das hängt vom Kontext ab. Welche Komplexität und welches Ausmaß hat die Klasse, wird sie nur innerhalb der Klasse "ShowImage" verwendet oder soll sie eventuell auch mal in anderen Teilen des Programms eingesetzt werden? Davon abhängig kann man sie als innere oder eigenständige Klasse definieren.
 

Der Müde Joe

Top Contributor
Die KSKB sollten hier möglichst ohne Aufwand benutzbar sein, darum wird dafür bei mir schnell mal eine innere Klasse gebastelt, anstatt 2,3,.. Files anzulegen :) . Grunsätzlich aber nicht nötig.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T paint() wieder aus einder anderen methode aufrufen funzt nid Java Basics - Anfänger-Themen 2
F Swing - Fehler - Paint Methode Java Basics - Anfänger-Themen 7
S awt: paint Methode zeigt nichts an Java Basics - Anfänger-Themen 9
thet1983 start & paint Methode? Java Basics - Anfänger-Themen 0
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
T Vererbung Wann wird die Methode paint aufgerufen? Java Basics - Anfänger-Themen 4
A Aufruf der paint() Methode Java Basics - Anfänger-Themen 3
J paint-methode blockiert settings von JComponents Java Basics - Anfänger-Themen 5
R Methoden Zeichnen auf Button-Druck durch Paint-Methode Java Basics - Anfänger-Themen 2
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
Q Zeichnen außerhalb der paint-methode Java Basics - Anfänger-Themen 7
A Methoden Variablen in paint methode Java Basics - Anfänger-Themen 4
D OOP paint() Methode aus Unterklasse anstoßen Java Basics - Anfänger-Themen 3
K Scrollbar - Bild - paint-Methode - zoom Java Basics - Anfänger-Themen 10
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
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
P paint Methode Java Basics - Anfänger-Themen 3
F Applets und die paint-Methode Java Basics - Anfänger-Themen 3
G start-oder paint-Methode anstatt Event-Handling-Methode? Java Basics - Anfänger-Themen 3
V paint()-methode manuell aufrufen? kein autostart erwuenscht Java Basics - Anfänger-Themen 3
G Paint Methode löscht alles Java Basics - Anfänger-Themen 4
G Klassen und paint methode Java Basics - Anfänger-Themen 2
X Malen außerhalb der paint() Methode Java Basics - Anfänger-Themen 4
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
C Ausgaben mit der Paint-Methode Java Basics - Anfänger-Themen 5
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
S Interface JButton etc. wird in JFrame mit paint() nicht angezeigt Java Basics - Anfänger-Themen 6
M Probleme mit paint() aus java.awt.Graphics Java Basics - Anfänger-Themen 2
L Paint() wird scheinbar nicht richtig ausgeführt Java Basics - Anfänger-Themen 8
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
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
T paint() wird nicht aufgerufen Java Basics - Anfänger-Themen 2
K paint() mit einfügen Java Basics - Anfänger-Themen 14
K doppeltes paint beim Drucken Java Basics - Anfänger-Themen 8
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
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
V paint funktioniert nicht Java Basics - Anfänger-Themen 14
O Paint Programm mit Fehler Java Basics - Anfänger-Themen 2
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
L Paint zeichnet nicht gespeicherte Objekte Java Basics - Anfänger-Themen 3
A paint() - warum nicht aufrufen? Java Basics - Anfänger-Themen 3
S super.paint() Java Basics - Anfänger-Themen 4
M Paint und JColorChooser Java Basics - Anfänger-Themen 12
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
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
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
G frage zu paint Java Basics - Anfänger-Themen 3
T Mehrere paint Methoden in unterschiedlichen Klassen Java Basics - Anfänger-Themen 7
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
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
G Paint auf Panel 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
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
C zu viele paint()'s. Java Basics - Anfänger-Themen 6
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
T Verschiedene Optionen in der Methode Java Basics - Anfänger-Themen 6
T Rekursive Methode Java Basics - Anfänger-Themen 13
Ü Methode soll Quadrat aus der Summer zurückgeben Java Basics - Anfänger-Themen 10
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
Leyla Spezifischte Methode Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben