Grafiken auf dem JFrame

Endymion

Bekanntes Mitglied
Ich hätte zwei Fragen:
1.:
Wie bringe ich .gif oder .jpg-Dateien auf mein JFrame?

2.: Wenn ich auf meinem JFrame einen Kreis male deklariere ich das ja in der paint()-Methode meines JFrames. Das Probel, das ich habe, ist, dass ich die paint()-Methode ja nur ein Mal deklarieren kann, und, wenn ich beispielsweise den Kreis durch ein Rechteck ersetzen will, kann ich die paint()-Methode ja nicht überschreiben. Wie ändere ich die Grafiken auf meinem JFrame?
 

Michael...

Top Contributor
1.:
Wie bringe ich .gif oder .jpg-Dateien auf mein JFrame?
z.B. mittels JLabel, oder man zeichnet das Bild selbst in einer überschriebenen Komponente
2.: Wenn ich auf meinem JFrame einen Kreis male deklariere ich das ja in der paint()-Methode meines JFrames. Das Probel, das ich habe, ist, dass ich die paint()-Methode ja nur ein Mal deklarieren kann, und, wenn ich beispielsweise den Kreis durch ein Rechteck ersetzen will, kann ich die paint()-Methode ja nicht überschreiben. Wie ändere ich die Grafiken auf meinem JFrame?
Man überschreibt überlicherweise nicht die paint eines JFrames, sondern fügt in diesen ein JComponent oder JPanel ein und überschreibt deren paintComponent(Graphics g).
Um das dargestellte zu ändern sollte man Objektorientiert arbeiten. Verwalte das darzustellende Elemente in einem Objekt bzw. mehrere in einer Liste. Dieses Objekt bzw. den Inhalt der Liste kann man während der Laufzeit manipulieren und mit einem abschließenden repaint() an der Komponente ein Neuzeichnen anfordern.
 

Michael...

Top Contributor
Hier im Forum sollten sich einige Beispiele finden lassen.
Ein einfaches Beispiel bei dem zwischen der Anzeige verschiedener Bilder gewechselt werden kann.
Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class SimplePaintingDemo extends JFrame {
	private PaintingPanel paintPanel;
	
	public SimplePaintingDemo() {
		paintPanel = new PaintingPanel();
		paintPanel.setBackground(Color.WHITE);
		this.getContentPane().add(paintPanel);
		JButton button = new JButton("SWAP");
		this.getContentPane().add(button, BorderLayout.SOUTH);
		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				paintPanel.swap();
			}
		});
	}

	public static void main(String[] args) {
		JFrame frame = new SimplePaintingDemo();
		frame.setBounds(0, 0, 500, 300);
		frame.setLocationRelativeTo(null);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
	}
	
	class PaintingPanel extends JPanel {
		private BufferedImage objectToBePainted;
		private BufferedImage[] images;
		private int index = 0;
		
		public PaintingPanel() {
			images = new BufferedImage[2];
			images[0] = createImage(100, 100, Color.BLUE, Color.ORANGE);
			images[1] = createImage(200, 80, Color.BLACK, Color.GREEN);
			index = 0;
			objectToBePainted = images[index];
		}
		
		//Methode zum Wechseln des angezeigten Bildes
		public void swap() {
			index = ++index%images.length;
			objectToBePainted = images[index];
			repaint();
		}
		
		public void paintComponent(Graphics g) {
			super.paintComponent(g);
			if (objectToBePainted!=null) {
				g.drawImage(objectToBePainted, 20, 20, null);
			}
		}
		
		//Hilfsmethode um Dummy Bilder zu erzeugen
		private BufferedImage createImage(int w, int h, Color color1, Color color2) {
			BufferedImage img = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
			Graphics2D g = img.createGraphics();
			g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
			g.setColor(color1);
			g.fillRect(0, 0, w, h);
			g.setColor(color2);
			g.fillOval(w/3, h/3, w, h);
			g.dispose();
			return img;
		}
	}
}
 

Michael...

Top Contributor
Ähnliche Java Themen
  Titel Forum Antworten Datum
I OpenPDF erzeugt riesige PDFs, wenn Grafiken über PdfGraphics2D#drawImage gezeichnet werden Allgemeine Java-Themen 1
S Bilder/Grafiken (zb: ".jpg") gestaucht zu Anzeige bringen Allgemeine Java-Themen 4
K 3D-Grafik JOGL Grafiken in 3DS Max importieren Allgemeine Java-Themen 10
F Mustererkennung in Grafiken Allgemeine Java-Themen 3
C Grafiken für Buttons Allgemeine Java-Themen 6
A SuperMario Grafiken Allgemeine Java-Themen 3
S Optimierung vom Laden von Grafiken Allgemeine Java-Themen 4
G mehrer grafiken mit delay daziwschen anzeigen Allgemeine Java-Themen 5
R Grafiken. direkt zeichnen Allgemeine Java-Themen 5
R Was nehmen für Flußdiagramme und Druck von großen Grafiken Allgemeine Java-Themen 4
F Grafiken in Textfeldern Allgemeine Java-Themen 3
S Grafiken/ImageIcon setzen Allgemeine Java-Themen 24
M Suche Liste die Text und Grafiken unterstützt Allgemeine Java-Themen 18
Tobero JFrame nimmt keinen Key oder Maus inputs Allgemeine Java-Themen 0
FRI3ND JFrame wird nicht angezeigt Allgemeine Java-Themen 3
N JFrame für Minispiele Allgemeine Java-Themen 14
F JFrame fü Eclipse wie? Allgemeine Java-Themen 6
4 Swing JFrame BackgroundColor Allgemeine Java-Themen 3
RalleYTN Merkwürdiger Fehler mit JFrame im Vollbild Allgemeine Java-Themen 4
snipesss Visueller Countdown in JFrame Allgemeine Java-Themen 1
K Swing OpenStreetMap in JFrame einfügen Allgemeine Java-Themen 1
K Best Practice JFrame Objekt allgemein zugänglich machen Allgemeine Java-Themen 8
S JFrame Variable mitgeben Allgemeine Java-Themen 5
F JFrame übergeben Allgemeine Java-Themen 5
B JFrame Text Ausgabe Allgemeine Java-Themen 7
T JFrame Overlay Allgemeine Java-Themen 1
I JPanel soll sich dem JFrame anpassen Allgemeine Java-Themen 1
I JFrame vor schliessen, methode auführen Allgemeine Java-Themen 2
I JFrame Icon in Main übergeben Allgemeine Java-Themen 1
? AWT Translucent JFrame mit repaint Allgemeine Java-Themen 4
S OOP JFrame als Observer eines JPanel Allgemeine Java-Themen 3
X Modalität von JDialog nachträglich in JFrame implementieren? Allgemeine Java-Themen 8
P Ableitungsfehler JFrame Allgemeine Java-Themen 5
A Excel Tabelle in JFrame darstellen Allgemeine Java-Themen 6
S JFrame an Fenstergröße anpassen Allgemeine Java-Themen 16
G JPanel in JFrame Allgemeine Java-Themen 9
S JDialog Daten ins JFrame übergeben Allgemeine Java-Themen 5
D Bilder in JFrame anzeigen Allgemeine Java-Themen 5
X Kann JLabel in JFrame nicht aktualisieren Allgemeine Java-Themen 3
J pack() lässt JFrame grau Allgemeine Java-Themen 3
J JFrame / PopUp-Menü bearbeiten Allgemeine Java-Themen 2
M JFrame absolut im Vordergrund Allgemeine Java-Themen 2
D JFrame nur in eine Richtung resizen Allgemeine Java-Themen 6
X JFrame sichtbar bei einem gesperrten Computer Allgemeine Java-Themen 11
U Zeichnen mit JFrame. Allgemeine Java-Themen 5
P JPanel - JFrame Allgemeine Java-Themen 6
G JFrame Icon selbst erzeugen Allgemeine Java-Themen 2
T applet und JFrame Allgemeine Java-Themen 12
T abspeichern und laden von objekten in JFrame Allgemeine Java-Themen 2
Developer_X JFrame verkleinern Allgemeine Java-Themen 20
D Problem mit Tooltips und JFrame (Tooltips sind zu kurz!) Allgemeine Java-Themen 4
Z Uralt-Applet in JFrame Anwendung konvertieren Allgemeine Java-Themen 12
F JFrame zeigt Hintergrund und nicht den Inhalt Allgemeine Java-Themen 12
G Bilder einer Webcam im JFrame anzeigen Allgemeine Java-Themen 5
D Von Thread auf JFrame zugreiffen? Allgemeine Java-Themen 5
M JFrame anpassen Allgemeine Java-Themen 4
M Neues JPanel in JFrame einbinden Allgemeine Java-Themen 6
W Das schließen des JFrame abfangen, wiei? Allgemeine Java-Themen 6
M PDF auf JFrame Allgemeine Java-Themen 10
D JFrame vergrößert nicht auf die gewünschte Größe Allgemeine Java-Themen 2
MQue JFrame nur einmal öffnen Allgemeine Java-Themen 3
MQue Fokus von Komponenten/JFrame Allgemeine Java-Themen 3
MQue JFrame bleibt hängen Allgemeine Java-Themen 3
P Image auf JPanel auf JFrame Allgemeine Java-Themen 3
P JPanel in JFrame Allgemeine Java-Themen 2
T Sound in JFrame: Ich krichs nich hin =( Allgemeine Java-Themen 7
E 2 Images auf einem JFrame Allgemeine Java-Themen 8
TheJavaKid Component in der Titelleiste vom JFrame? Allgemeine Java-Themen 18
G Word-Dokument in einem JFrame Allgemeine Java-Themen 2
T Servlet und JFrame Allgemeine Java-Themen 2
S JFrame mit Wartezeit Allgemeine Java-Themen 12
thE_29 Java App/JFrame Bildschirm "sperren" Allgemeine Java-Themen 10
U JFrame, JOptionPane - vor dem Schließen Benutzer fragen Allgemeine Java-Themen 10
T JFrame in Statusleiste minimieren Allgemeine Java-Themen 4
D JFrame nicht per Hand schreiben Allgemeine Java-Themen 5
G wie Klasse in JFrame "einfügen" Allgemeine Java-Themen 12
G JFrame nimmt mein Image nicht Allgemeine Java-Themen 2
S visible prob mit JFrame und JDialog Allgemeine Java-Themen 4
A JFrame-Liste Allgemeine Java-Themen 4
J JFrame Problem beim schließen Allgemeine Java-Themen 2
R java.awt.Component.setCursor() fehlt bei der JFrame doc Allgemeine Java-Themen 2

Ähnliche Java Themen


Oben