Grafik löschen

Hallo,
ich hab eine Oberfläche in der der Hintergrund in Form eines Icons eines JLabels angezeigt wird und, damit es darüber angezeigt wird, lasse ich ein zweites Bild drüberzeichnen.
Meine Frage:
Wie kann ich das gezeichnete Bild bewegen und wie bekomme ich es wieder weg?

Java:
package klassen;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Oberflaeche extends JFrame{
    public Oberflaeche(){
        super("ImageOverlayExample");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        try {
            BufferedImage background = ImageIO.read(getClass().getResource("/bilder/Spielfeld.png"));
            BufferedImage foregroundImage = ImageIO.read(getClass().getResource("/bilder/herz10.jpg"));
            background.getGraphics().drawImage(foregroundImage, 0, 0, this);
            JLabel label = new JLabel(new ImageIcon(background));
            add(label);
        }
        catch (IOException e) {
            e.printStackTrace();
        }
        pack();
        setVisible(true);
    }
    public static void main(String[] args) {
        new Oberflaeche();
    }
}


LG
Schweizergeizer
 

turtle

Top Contributor
Wie kann ich das gezeichnete Bild bewegen und wie bekomme ich es wieder weg?
Das sind ja gleich zwei Fragen:D

Und so richtig verstehe es nicht.

Weg, ich vermute keine Bildanzeige mehr, kriegst du hin, indem du das Icon auf null setzt

Java:
label.setIcon(null);

Aber ich vermute, das du was anderes vorhast, Aber "Bewegen"/Animieren verstehe ich nicht und du musst genauer erklären, was passieren soll.
 
Das soll ein Kartenspiel werden.
Der Hintergrund ist das grüne Spielfeld, das sich evtl. noch ändert. (Ich Verändere das Bild vielleicht noch etwas)
Auf dem Hintergrund werden die Karten beim Austeilen bewegt
und natürlich sollen nach jeder Runde die Karten verschwinden.

Jetzt verständlich? :bahnhof:
 
Zuletzt bearbeitet:
inwiefern würde das eines meiner probleme lösen?
dann habe ich nurnoch das spielfeld
ich könnte allerdings alles was gezeichnet wurde überzeichnen lassen mit dem Hintergrundbild
DAS würde mir sehr weiterhelfen
wie muss ich das anstellen?
(mit code bitte)
 

turtle

Top Contributor
Ich verstehe es immer noch nicht:oops:
Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

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

public class KartenSpiel extends JPanel {
	private ImageIcon background;
	private ImageIcon herz10ImageIcon;
	private JLabel herz10;

	public static void main(String[] args) {
		JFrame frame = new JFrame("Turtle-Spiel");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		KartenSpiel kartenSpiel = new KartenSpiel();
		frame.add(kartenSpiel);
		frame.pack();
		frame.setVisible(true);
	}

	@Override
	protected void paintComponent(Graphics g) {
		super.paintComponent(g);
		Graphics2D graphics2d = (Graphics2D) g;
		graphics2d.drawImage(background.getImage(), 0, 0, null);
	}

	public KartenSpiel() {
		background = new ImageIcon(getClass().getResource("/images/casino.jpg"));
		herz10ImageIcon = new ImageIcon(getClass().getResource("/images/herz10.jpg"));
		setPreferredSize(new Dimension(600, 400));
		setBackground(Color.GREEN);
		herz10 = new JLabel(herz10ImageIcon);
		add(herz10);
		JButton clear = new JButton("Next round");
		clear.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				herz10.setIcon(null);
			}
		});
		add(clear);
		JButton Austeilen = new JButton("Austeilen");

		Austeilen.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				herz10.setIcon(herz10ImageIcon);
			}
		});
		add(Austeilen);
	}
}
 

turtle

Top Contributor
Hast du meinen Code wirklich verstanden?

In der Methode paintComponent wird nur das Hintergrundbild gemalt. ALLES andere übernimmt Swing automatisch. Ein Hintergrundbild weicht nämlich vom Normalen ab, dass da sonst ein grauer einfarbiger Hintergrund gemalt würde.

Zum Beispiel wird dein Label von Swing gemalt und zwar, wenn du da nicht eingreifst, richtig.

Der sogenannte Event-Dispatch-Thread (EDT) von Swing kümmert sich darum, GUI-Widgets neu zu malen, wenn sich Eigenschaften geändert haben. SOFERN du keinen Code hast, der den EDT blockiert zum Beispiel durch lange Laufzeiten in deinen Action-Handlern.
 
Was mich an dem Code verwirrt:
Wo ist definiert, an welchen Positionen die Labels und Buttons angezeigt werden?
Ich sehe Werte für die Fenstergröße und die Startposition des Fensters, aber mehr nicht ???:L
Sorry wenn ich mich etwas dumm anstelle:bahnhof:
 

turtle

Top Contributor
welchen Positionen die Labels und Buttons
DAS übernimmt üblichweise ein Layout-Manager automatisch. In Swing gibt es verschiedene davon, beispielsweise FlowLayout, BorderLayout oder GridBaglayout.

Jeder "berechnet" wieviel Platz ein Widget auf dem Schirm bekommen kann unter Berücksichtigung aller anderen Widgets. Beispielsweise wird ein JLabel weniger Platz bekommen, wenn ein weiteres Label in gleicher Zeile ebenfalls Platz beansprucht.

Es gibt aber auch den Null-Layoutmanager. Bei diesem MUSST du dich um die Positionierung selber kümmern. Dies betrachten die meisten aber sehr aufwendig und sollte daher nach Möglichkeit vermieden werden.

Ich nutze immer, wie schon mehrfach im Forum erwähnt habe, den jGoodies Formlayout-Manager.

Wenn du trotzdem der Meinung bist, es mal mit null-Layout zu versuchen, hier ein kleines Beispiel


Java:
public class MyTurtle extends JPanel {

    public MyTurtle() {
	setLayout(null);
	JButton einButton = new JButton("Turtle");
	einButton.setBounds(30, 30, 200, 200);
	add(einButton);
    }

    public static void main(String[] args) {
	JFrame frame = new JFrame("Turtle Test");
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	frame.add(new MyTurtle());
	frame.pack();
	frame.setVisible(true);
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
fragenÜber(fragen); Turtle Grafik mit GUI (JFrame) Java Basics - Anfänger-Themen 3
D Grafik auf ein JPane ausgeben. Java Basics - Anfänger-Themen 6
J Konstruktoren und Grafik Java Basics - Anfänger-Themen 3
J "Tetris" - Problem bei der Grafik Java Basics - Anfänger-Themen 5
R Grafik in CSV einbinden Java Basics - Anfänger-Themen 2
S Suche aktuelles 2D Grafik Tutorial Java Basics - Anfänger-Themen 5
B Java -Turtle Grafik - kennt sich jemand damit aus? Java Basics - Anfänger-Themen 1
S Erste Schritte 2D Grafik Probleme mit KeyListener. Java Basics - Anfänger-Themen 18
D aufbauende Grafik Java Basics - Anfänger-Themen 13
8 Grafik erstellen Java Basics - Anfänger-Themen 6
Z Jump and Run - Grafik,Logik und GUI trennen Java Basics - Anfänger-Themen 4
G Bei Mouseover Grafik ändern, gutes Vorgehen gesucht Java Basics - Anfänger-Themen 0
V jab ich eclipse verrückt gemacht :D ? array Jpanel, Jlabel Grafik Fehler / Frage Java Basics - Anfänger-Themen 5
L Grafik Kollision Detektierung Java Basics - Anfänger-Themen 4
L OOP Grafik in Circle Objekt füllen Java Basics - Anfänger-Themen 3
C Grafik einsperren Java Basics - Anfänger-Themen 2
E Quelltext für Grafik verschwindet Java Basics - Anfänger-Themen 9
S Grafik verschwindet Java Basics - Anfänger-Themen 8
O Java Grafik-Programmierung? Java Basics - Anfänger-Themen 16
R 2D Grafik zeichnen Java Basics - Anfänger-Themen 4
B Grafik zeichnen Java Basics - Anfänger-Themen 25
S Teilstücke aus einer Grafik extrahieren Java Basics - Anfänger-Themen 2
Maxim6394 Grafik rotieren Java Basics - Anfänger-Themen 11
S Probleme mit JMenü und Grafik Java Basics - Anfänger-Themen 2
0 Grafik eine bestimmte Strecke laufen lassen Java Basics - Anfänger-Themen 6
R Hilfe bei erster Grafik Java Basics - Anfänger-Themen 2
A Gui Grafik Java Basics - Anfänger-Themen 4
maddin86 Grafik in .jar einbetten Java Basics - Anfänger-Themen 3
M import einer Grafik aus .jar funktioniert nicht Java Basics - Anfänger-Themen 6
M Grafik export in ein Jar File Java Basics - Anfänger-Themen 5
O Grafik in Frame laden Java Basics - Anfänger-Themen 9
H Diverse Dinge: Unstabile Grafik, Druckt Grafik nicht,Tooltipp verschwindet hinter Grafik Java Basics - Anfänger-Themen 3
H Grafik auf einem JPanel bewegen. Java Basics - Anfänger-Themen 7
F JLabel mit Grafik füllen Java Basics - Anfänger-Themen 3
K Grafik vergrößern/verkleinern Java Basics - Anfänger-Themen 3
F Zugriffsproblem - Funktion von Grafik trennen Java Basics - Anfänger-Themen 6
H HtmlUnit - Grafik speichern Java Basics - Anfänger-Themen 2
R Taste gedrückt = Grafik zeichen ?!? Java Basics - Anfänger-Themen 8
D PNG-Grafik erzeugen Java Basics - Anfänger-Themen 8
A Grafik erstellen und in Frame einfügen Java Basics - Anfänger-Themen 17
T Drucken von Listen bestehend aus Grafik und Text (unter swing) Java Basics - Anfänger-Themen 7
A grafik 2d Objekte mit der Maus bewegen Java Basics - Anfänger-Themen 4
A Grafik 2d Objekte farblich ausfüllen Java Basics - Anfänger-Themen 15
C Grafik einbinden Java Basics - Anfänger-Themen 11
F Größe von Grafik-Containern verschieben Java Basics - Anfänger-Themen 2
J Unterschied zwischen 2 Grafik Methoden Java Basics - Anfänger-Themen 2
M Grafik neuzeichnen Java Basics - Anfänger-Themen 8
M Grafik als Resource laden? Java Basics - Anfänger-Themen 2
G erste Schritte in Fenster und Grafik-Programmierung Java Basics - Anfänger-Themen 2
$ Inhalt von JPanel als Grafik? Java Basics - Anfänger-Themen 2
K Grafik beim JFrame oben Links ändern nur wie ? Java Basics - Anfänger-Themen 8
J Grafik Java Basics - Anfänger-Themen 3
K Grafik abspeichern, X11 Fehlermeldung Java Basics - Anfänger-Themen 15
T Zeigerposition auf Grafik messen? Java Basics - Anfänger-Themen 5
M ausm String eine Grafik erstellen Java Basics - Anfänger-Themen 4
F Grafik auf Button passt nicht Java Basics - Anfänger-Themen 1
E Grafik in bestimmtes frame einbinden . Java Basics - Anfänger-Themen 13
F Teilen einer großen Grafik Java Basics - Anfänger-Themen 2
M Grafik erstellen Java Basics - Anfänger-Themen 8
C Clear im Grafik Editor Java Basics - Anfänger-Themen 16
C Grafik flimmert bzw. flackert bei Bewegung Java Basics - Anfänger-Themen 11
N Grafik formatieren Java Basics - Anfänger-Themen 7
E fehlermeldung bei rekursiver grafik Java Basics - Anfänger-Themen 11
M wie kombiniere ich grafik und swing-komponenten Java Basics - Anfänger-Themen 16
N Java Problem bei Grafik und OoP Java Basics - Anfänger-Themen 7
V Grafik ist nur ganz kurz sichtbar Java Basics - Anfänger-Themen 3
H Streichholzziehen - Grafik? Java Basics - Anfänger-Themen 3
M Grafik auf einem JPanel erneut darstellen Java Basics - Anfänger-Themen 3
S Grafik verschwindet aus JTabbedPane Java Basics - Anfänger-Themen 4
C Grafik in einem Panel als Bild exportieren Java Basics - Anfänger-Themen 8
H Leere Zeilen in Textdatei löschen lassen Java Basics - Anfänger-Themen 5
V JSON-Objs aus JSON-Obj filtern und löschen (Manipulation ohne Kenntnis der vollst. Struktur) Java Basics - Anfänger-Themen 12
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Array mit Methode löschen Java Basics - Anfänger-Themen 2
K Wie kann ich "enter" von der Console in Eclipse löschen? Java Basics - Anfänger-Themen 2
E Objekte löschen Java Basics - Anfänger-Themen 9
AkiJou Zeile in 2d Array löschen Java Basics - Anfänger-Themen 2
berserkerdq2 An selbst ersteller txt Datei immer Text dranhängen, ohne den vorherign Text zu löschen Java Basics - Anfänger-Themen 8
berserkerdq2 Überprüfen ob eine Schreibberechtigung auf ein file exisitert bzw. ob man dieses file löschen kann, wie? Java Basics - Anfänger-Themen 9
J Zelleninhalt einer Jtable löschen Java Basics - Anfänger-Themen 2
G Bitte meinen Account löschen Java Basics - Anfänger-Themen 1
javapingu Jeglichen Inhalt einer Textdatei nach Zeile n löschen Java Basics - Anfänger-Themen 8
W Beitrag löschen Java Basics - Anfänger-Themen 1
O Doppelt verkette Liste Element löschen Java Basics - Anfänger-Themen 15
B Objekte, bspw. konkret Arraylists,manuell aus Speicher löschen? Java Basics - Anfänger-Themen 70
M Abfrage j/n und Bildschirm löschen Java Basics - Anfänger-Themen 3
J JTable Spalteninhalt löschen Java Basics - Anfänger-Themen 1
L Methoden ArrayList Werte hinzufügen und löschen Java Basics - Anfänger-Themen 32
A Löschen von Leerzeichen in einem char array ohne methoden Java Basics - Anfänger-Themen 6
U Objekte in LinkedList löschen und editieren Java Basics - Anfänger-Themen 14
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
R Löschen und ausgeben eines Teilbaums Java Basics - Anfänger-Themen 3
V_Fynn03 Beliebiges Element in einer Liste löschen (Java)(Lineare Datenstrukturen) Java Basics - Anfänger-Themen 9
V_Fynn03 Lineare Datenstrukturen Element löschen? Java Basics - Anfänger-Themen 2
S Wann buffer löschen? Java Basics - Anfänger-Themen 5
S Windows printerqueue mit Java löschen Java Basics - Anfänger-Themen 3
M Objekt mit eindeutiger ID löschen, das nächste Objekt hat dann diese ID Java Basics - Anfänger-Themen 5
M Image löschen Java Basics - Anfänger-Themen 2
H Objekt aus einem Array löschen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben