Panels regelmässig neu positionieren

Marco7757

Aktives Mitglied
Hallo Leute!

Ich arbeite an einem Tetris. Und dabei muss ich ja die Spielsteine regelmässig nach unten gehen lassen. Meine Spielsteine haben eine Höhe von 50px und wechseln die Position beim Drehen und Nach-Unten-Laufen.
Ich habe im Moment ein FlowLayout, habe jedoch keine Ahnung, wie ich meine Panels mit Pixeln positionieren kann. Wie gehts das?

Also ich stelle mir das ungefähr so vor:
setPosition(pixelVonOben, pixelVonLinks);

Gibt es so was?
 

MQue

Top Contributor
ein XYLayout vielleicht:

XYLayout

du kannst aber auch JPanel#setLayout(null) setzen und dann die anderen Panels mit setLocation(x,y) setzen (sollte man zwar nicht machen aber es geht).

eine dritte Möglichkeit wäre, ein eigenes Layout zu schreiben.
 
Zuletzt bearbeitet:

Marco7757

Aktives Mitglied
Wieso sollte man setLayout(null) nicht machen? Was ist der Nachteil?
Wie lässt sich das XYLayout benutzen? Ich brauche doch den Code, oder?
 
Zuletzt bearbeitet:
T

Tomate_Salat

Gast
ein NullLayout [c]setLayout( null );[/c] hat den Nachteil, dass sich die Größenverhältnisse bei Änderung des Fensters nicht anpassen. Soll das Fenster allerdings eine feste größe haben, kannst du durchaus ein NULL-Layout setzen.

Edit
Link von oben hat gesagt.:
Die Klasse XYLayout implementiert einen Layout-Manager, der absolute Positionierung zuläßt. Zwar kann man in Java auch mit dem null-Layout arbeiten, allerdings bleibt die Komponenten-Position bei einer Größenveränderung des Fensters immer gleich. Bei dem XYLayout-Manager ist jedoch die relative Position der Komponente für die Lage innerhalb einer Komponente ausschlaggebend.
 
Zuletzt bearbeitet von einem Moderator:

MQue

Top Contributor
Wenn du XYLayout benutzen willst, dann kopier den Code vom Link und erstelle eine Klasse mit diesem Code in deinem Projekt, danach kannst du Objekte von dieser Klasse erzeugen.
Ansonsten wie schon geschrieben -> setLayout(null) mit den angegebenen Nachteilen verwenden.
 
T

Tomate_Salat

Gast
ähm, die Klassendeklaration ist schon etwas dürftig und ich weis ja nicht wie es bei euch ist, aber Eclipse und Netbeans kennen bei mir kein XYLayout. Würde mal sagen, der Link bringt ihm nicht viel

Die Methode getRelativePosition und getAbsolutePosition sind spezielle für diese Klasse entwickelte Methoden.

sind z.B. in der deklaration garnicht enthalten und der Content ist dann wohl zum erraten?!
 

Marco7757

Aktives Mitglied
Genau das ist das Problem!
Ich habe es jetzt mit
Code:
setLayout(null);
gemacht. Zusätzlich noch
Code:
setResizable(false);
, sodass der Benutzer das Layout nicht kaputt machen kann.

Vielen Dank euch beiden!
 

Michael...

Top Contributor
So etwas sollte man wohl eher durch eine eigene Komponente, auf der man die "Steine" selbst zeichnet lösen, als durch Positionieren/Verschieben von Komponenten im Layout - zu mal die Komponeten rechteckig sind und so ein Spielstein ja verschiedene Ausprägungen haben kann.
 
T

Tomate_Salat

Gast
hmm ein JPanel dafür als Superklasse zu wählen halte ich für unnötig. Ich würde ein JComponent nehmen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Auf MainJFrame Panels anzeigen lassen Java Basics - Anfänger-Themen 19
CptK Interface Beide Panels zeigen das Gleiche Java Basics - Anfänger-Themen 2
S Interface (WindowBuilder) Panels in einen Frame einfügen Java Basics - Anfänger-Themen 10
E JAvaFX: Verschiedene Panels nach Klick auf Node des TreeView anzeigen Java Basics - Anfänger-Themen 0
Y Panels sichtbarkeit Java Basics - Anfänger-Themen 3
A mehrere Panels in eigenen Klasssen in einem Frame Java Basics - Anfänger-Themen 16
D ItemsateChangeEvent über 3 Panels Java Basics - Anfänger-Themen 1
B Drag & Drop für Panels Java Basics - Anfänger-Themen 6
M Panels untereinander anordnen Java Basics - Anfänger-Themen 3
L Panels zur Laufzeit ändern Java Basics - Anfänger-Themen 2
K Panels, grafische Oberflächen Java Basics - Anfänger-Themen 7
Spin Einfache Anfänger Frage setVisible von Panels Java Basics - Anfänger-Themen 5
S 2 Panels in einen Frame Java Basics - Anfänger-Themen 5
H Panels in Frame einbinden Java Basics - Anfänger-Themen 3
M Layered Panels Java Basics - Anfänger-Themen 5
I 1 Frame und mehrere Panels klappt nicht Java Basics - Anfänger-Themen 4
M Zwei Panels, die sich gegenseitig 'notifyn' sollen Java Basics - Anfänger-Themen 12
M Automatische Anordnung und Benennung von Panels Java Basics - Anfänger-Themen 2
M zufällige auswahl eines Panels aus Grid Layout Java Basics - Anfänger-Themen 3
J checkBoxen Panels Java Basics - Anfänger-Themen 12
_deleted Mehrere Panels untereinander im JScrollPane Java Basics - Anfänger-Themen 4
L Problem mit dem Anzeigen eines Panels Java Basics - Anfänger-Themen 2
T Animation übermalt panels Java Basics - Anfänger-Themen 6
G Panels und Buttons Java Basics - Anfänger-Themen 5
M Vers. Panels im Frame laden von vers. Panels Java Basics - Anfänger-Themen 5
T Auf Objekte innerhalb eines Panels zugreifen Java Basics - Anfänger-Themen 9
G Zwei Panels übereinander Java Basics - Anfänger-Themen 14
G problem mit panels Java Basics - Anfänger-Themen 2
S rumprobieren mit Panels Java Basics - Anfänger-Themen 5
M Auf Panels oder Labels malen? (paint) Java Basics - Anfänger-Themen 9
J Java und das Anzeigen von Panels Java Basics - Anfänger-Themen 15
R KeyListener, 2 Panels und 5 Buttons Java Basics - Anfänger-Themen 6
H Bilder in Panels einfügen? Java Basics - Anfänger-Themen 4
KeVoZ_ Label auf JFrame willkürlich Positionieren Java Basics - Anfänger-Themen 2
R Bilder positionieren Java Basics - Anfänger-Themen 5
M JLabel auf JPanel positionieren Java Basics - Anfänger-Themen 8
L ProgressBar neu positionieren Java Basics - Anfänger-Themen 12
B Menue frei positionieren Java Basics - Anfänger-Themen 3
S Zeichen aus Strings auslesen und in zweidimensionalen Reihungen positionieren. Java Basics - Anfänger-Themen 10
P Label erstellen und positionieren Java Basics - Anfänger-Themen 5
S Wie komponenten positionieren? Java Basics - Anfänger-Themen 6
E Komponenten auf Panel positionieren Java Basics - Anfänger-Themen 3
F prob beim positionieren eines banners Java Basics - Anfänger-Themen 4
H JLabel positionieren Java Basics - Anfänger-Themen 4
G JLabelinhalt positionieren Java Basics - Anfänger-Themen 2
P Button positionieren Java Basics - Anfänger-Themen 3
G JToogleButton - Positionieren des Icons Java Basics - Anfänger-Themen 8
G drucken: genaues positionieren Java Basics - Anfänger-Themen 2
? jtable positionieren. Java Basics - Anfänger-Themen 12
F Button positionieren Java Basics - Anfänger-Themen 2
H Button auf AWT Fläche pixelgenau positionieren Java Basics - Anfänger-Themen 4
P Cursor in Konsole positionieren Java Basics - Anfänger-Themen 5
S Frame schließen und positionieren Java Basics - Anfänger-Themen 7
N TextField positionieren Java Basics - Anfänger-Themen 7
J Positionieren eines showConfirmDialog? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben