Layout Problem mit Überdeckung

Status
Nicht offen für weitere Antworten.

Dreezard

Bekanntes Mitglied
Also... Ich versuch mich verständlich auszudrücken.
Ich hab ein JPanel mit nem null Layout.
Darauf adde ich Bilder von 50x50 wobei sich manche überlagern.
Jetzt liegen aber leider die falschen Bilder oben und ich möchte die verdeckten nach vorne bekommen. Wie mache ich das?
Ich zeichne alles mit der paintComponent() methode fals die frage kommt...
 

lin

Top Contributor
Hallo

Ich weiss nicht, ob das die einfachste Methode ist, aber versuchs mal mit AlphaComposite.

Code:
public void paintComponent(Graphics g) {
    Graphics2D g2 = (Graphics2D)g;
    
    g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC, 1.0f));
    g2.drawImage(imageA, x, y, w, h, this);

    
    g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f));
    g2.drawImage(imageB, x, y, w, h, this);
}
Zuerst wird imageA als SRC festgelegt, dann wird imageB drübergezeichnet SRC_OVER.
Der floatwert (oben 1.0f) legt dabei den Alphawert des Bildes fest. (ob transparent oder nicht).

Hoffentlich bringt dir das was...
 
B

Beni

Gast
Hm, je später du ein Bild zeichnest, desto weiter "oben" erscheint es. Weil ja ein Bild das später gezeichnet wird, über einem früher gezeichneten zu liegen kommt. Jetzt musst du nur noch die Reihenfolge verändern...
 

Dreezard

Bekanntes Mitglied
naja,,, also erstmal danke an lin aber ganz so einfach ist das nicht.

@Beni
Eben leider nicht so ganz... Scheinbar verbleibt die "tiefe" der Komponente nach dem adden in eben der add-reihenfolge.
Ich muss sie nachträglich ändern können...

Scheinbar ist das noch nicht so ganz klar...
Also:

Ich habe ein JPanel mit einem Bild als Hintergrund (Spielbrett) (gezeichnet mit paintComponent.
Dann hab ich 30 Spielsteine a la:
Code:
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Point;
import javax.swing.JComponent;

public abstract class Stone extends JComponent {

   private static final long serialVersionUID = 1L;
   protected Image image;
   protected int position;

   public void paintComponent(Graphics g) {
		g.drawImage( image, 0, 0, this );
   }

   public int getColor() {
	   return color;
   }

   public void setPosition(int position) {
	   this.position = position;
   }

   public int getPosition() {
	   return position;
   }

   public Dimension getPreferredSize() {
		return new Dimension(50,50);
	}
}
Code:
import java.awt.Toolkit;

public class WhiteStone extends Stone {

	private static final long serialVersionUID = 1L;

	public WhiteStone() {
		image = Toolkit.getDefaultToolkit().getImage("White.png");
	}

}

Zu spielbeginn werden alle steine geaddet und deren position gesetzt.
Jetzt wird ein spielstein verschoben und es sind beispielsweise 10 in einer Reihe. Diese sollen nun überlappend übereinander liegen. Also fange ich von einer seite an und gehe alle Spielsteine durch und setze deren Position. Doch ist nich der zuletzt verschobene der obere....
gibt es da keine methode die ein element nach vorn holt oder etwas in der art?
 

Dreezard

Bekanntes Mitglied
AAAH! Stupid me!
Ja ja... Immer mal in die API schauen.
Container.setComponentZOrder() hilft einem da schon sehr weiter!
Sorry für's unnötige nerven!
Ich versprech auch öfter in die API zu schauen!
 
B

Beni

Gast
Ach :? , sag doch, dass du für jedes Bild eine eigene Component verwendest!

Guck dir auch mal das JLayeredPane an, vielleicht ist das auch was für deine Bilder.
 

Dreezard

Bekanntes Mitglied
hm. danke für den tipp. Ich schau mir die mal an. Aber in diesem Falle hab ich das ganze schon wunderbar hinbekommen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Layout - Problem AWT, Swing, JavaFX & SWT 1
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
F Layout-Problem AWT, Swing, JavaFX & SWT 2
D Problem mit 3-Spalten Layout AWT, Swing, JavaFX & SWT 17
A Problem mit Layout-Manager AWT, Swing, JavaFX & SWT 11
B LayoutManager Layout Problem AWT, Swing, JavaFX & SWT 14
A SWT Layout Problem AWT, Swing, JavaFX & SWT 15
K Swing Layout-Problem mit JTables und JLists (Mindestgrößen) AWT, Swing, JavaFX & SWT 11
N SWT Einfaches Problem beim Layout AWT, Swing, JavaFX & SWT 8
V Layout Problem AWT, Swing, JavaFX & SWT 5
M JPanel Layout Problem AWT, Swing, JavaFX & SWT 11
I Layout Problem beim Skalieren AWT, Swing, JavaFX & SWT 3
T Null Layout Problem. AWT, Swing, JavaFX & SWT 3
M Layout Problem: Zentriern in Panel AWT, Swing, JavaFX & SWT 3
M Layout-Problem: JTable AWT, Swing, JavaFX & SWT 3
A Layout-Problem AWT, Swing, JavaFX & SWT 5
W SWT, Anordung von Elementen - Layout Problem ? AWT, Swing, JavaFX & SWT 2
I Null-Layout-Problem AWT, Swing, JavaFX & SWT 2
M Problem mit NULL-Layout AWT, Swing, JavaFX & SWT 2
M Problem mit Layout wegen Textarea AWT, Swing, JavaFX & SWT 3
G Layout Problem AWT, Swing, JavaFX & SWT 6
M Layout / setSize Problem AWT, Swing, JavaFX & SWT 15
M Layout Problem (GrudBag- + BorderLayout) AWT, Swing, JavaFX & SWT 6
M Layout-Problem, Größe von Komponenten AWT, Swing, JavaFX & SWT 3
S Wiedermal SWT-Layout-Problem AWT, Swing, JavaFX & SWT 6
S SWT - Simples Layout Problem AWT, Swing, JavaFX & SWT 9
M Layout Problem, Ideen gesucht AWT, Swing, JavaFX & SWT 7
H Problem mit Layout Fenstern (Swing) AWT, Swing, JavaFX & SWT 3
M Layout Problem AWT, Swing, JavaFX & SWT 3
D Layout Problem / JTree und JPanel AWT, Swing, JavaFX & SWT 4
N Layout-Problem (JScrollPane, GridBagLayout) AWT, Swing, JavaFX & SWT 3
D Layout-Problem AWT, Swing, JavaFX & SWT 8
M Problem mit Layout/JLabel AWT, Swing, JavaFX & SWT 5
J Kleines Layout Problem AWT, Swing, JavaFX & SWT 5
S Problem mit dem Layout - 3 JPanel's AWT, Swing, JavaFX & SWT 3
G Layout-Problem AWT, Swing, JavaFX & SWT 4
G Problem mit JDialog-Layout AWT, Swing, JavaFX & SWT 4
F Problem mit Panel-Layout AWT, Swing, JavaFX & SWT 3
M Layout Problem. AWT, Swing, JavaFX & SWT 6
E Problem mit GridBag Layout AWT, Swing, JavaFX & SWT 2
G Layout Problem AWT, Swing, JavaFX & SWT 3
S Welches Java Layout sollte ich verwenden? AWT, Swing, JavaFX & SWT 3
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
melaniemueller Layout wechseln über RadioButtons AWT, Swing, JavaFX & SWT 4
J Swing Hilfe bei Layout AWT, Swing, JavaFX & SWT 2
R Layered Layout AWT, Swing, JavaFX & SWT 1
E showAndWait is not allowed during animation or layout processing Memory FX AWT, Swing, JavaFX & SWT 2
E Swing Layout während der Laufzeit anpassen AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
R Layout Manager null und Component wird nicht hinzugefügt AWT, Swing, JavaFX & SWT 3
S Kann javafx.scene.layout.VBoxBuilder nicht importieren AWT, Swing, JavaFX & SWT 3
OSchriever Layout über Radiobuttons ändern AWT, Swing, JavaFX & SWT 4
B Swing Probleme mit dem Layout AWT, Swing, JavaFX & SWT 1
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
I JavaFX - festes Layout AWT, Swing, JavaFX & SWT 1
S JavaFX TableView einzelne Zelle Layout zuweisen AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
Neumi5694 Swing Card-Layout, Fokus AWT, Swing, JavaFX & SWT 2
kilopack15 Interface mit Layout verknüpfen AWT, Swing, JavaFX & SWT 2
Y Layout/Ausrichtungsprobleme AWT, Swing, JavaFX & SWT 4
T JavaFX Custom Layout AWT, Swing, JavaFX & SWT 5
A GUI Layout AWT, Swing, JavaFX & SWT 11
A Layout-Manager, JScrollPane, ... Chaos AWT, Swing, JavaFX & SWT 5
L wie Layout-Grid in JXPanel anzeigen? AWT, Swing, JavaFX & SWT 5
L Eigene Component Layout AWT, Swing, JavaFX & SWT 4
Soloeco LayoutManager Wie und welches Layout nutze ich am Besten? AWT, Swing, JavaFX & SWT 13
M LayoutManager Modalen JDialog ein Layout zuweisen AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout reagiert nicht auf Constraints AWT, Swing, JavaFX & SWT 4
IsSchoGuat LayoutManager Layout-Containergrösse AWT, Swing, JavaFX & SWT 4
F GridBag Layout AWT, Swing, JavaFX & SWT 1
Z Absolutes Layout / Kontrolle über Anordnung AWT, Swing, JavaFX & SWT 3
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
D LayoutManager GUI skalieren und deren Komponenten mit Grid(Bag)Layout-Manager. AWT, Swing, JavaFX & SWT 5
J ComboBoxModel addElement verändert Layout AWT, Swing, JavaFX & SWT 8
E Probelm mit Layout AWT, Swing, JavaFX & SWT 1
B Hilfe welches Layout brauch ich AWT, Swing, JavaFX & SWT 4
P Tipps für GUI-Layout AWT, Swing, JavaFX & SWT 2
M Passender Layout-Manager AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout zur Laufzeit ändern AWT, Swing, JavaFX & SWT 8
N Swing Zweifarbiges Layout für den Filechooser AWT, Swing, JavaFX & SWT 12
B LayoutManager Card Layout AWT, Swing, JavaFX & SWT 2
E Angehängtes Layout, aber wie? AWT, Swing, JavaFX & SWT 12
1 Eigenes Layout schreiben AWT, Swing, JavaFX & SWT 4
B SWT layout invalidieren in SWT? AWT, Swing, JavaFX & SWT 4
R Welchen Layout Manager/ Wie strukturieren? AWT, Swing, JavaFX & SWT 14
J Layout: oben 20% unten 80% AWT, Swing, JavaFX & SWT 12
T Layout für Listendarstellung AWT, Swing, JavaFX & SWT 3
F LayoutManager Null-Layout unter Linux im TreeCellEditor AWT, Swing, JavaFX & SWT 3
K Eclipse Layout (Gimp Layout, Tiled Layout...) AWT, Swing, JavaFX & SWT 4
C LayoutManager Passendes Layout gesucht AWT, Swing, JavaFX & SWT 2
M Layout funktioniert nicht AWT, Swing, JavaFX & SWT 3
dzim Layout von Panes in JFX2 AWT, Swing, JavaFX & SWT 17
H Layout Idee AWT, Swing, JavaFX & SWT 8
M Swing Dynamisches Layout AWT, Swing, JavaFX & SWT 10
P Swing welchen Layout Manager verwenden AWT, Swing, JavaFX & SWT 9
J LayoutManager Komponentenaustausch zerschießt Layout AWT, Swing, JavaFX & SWT 4
K Gui Layout Frage AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben