Layoutmanager-Richtlinie ?

P

Pèrigord

Gast
Hallo,

Habe eine kleine Frage zu den verschiedenen Layoutmanager.

Beim zusammenbauen von Layout's, wäre es gut wenn man sich die grösse berechenen könnte, da diese auch variert, ja nach dem was der Inhalt un oder Hintergrund ist.

Was ich suche ist eine Erklärung die, die Masse von den verschiedenen Layout's angiebt, also Layoutmanager-Richtlinie ? Habe in der API leider nichts herauslesen können.

Vielen Dank
P.

p.s. die Frage um zu posten "was befindet sich in der Mitte unserer Galaxie?" sollte nicht heissen "in der Mitte unseres Sonnensystems" ?
 

GUI-Programmer

Top Contributor
[...]wäre es gut wenn man sich die grösse berechenen könnte, da diese auch variert, ja nach dem was der Inhalt un oder Hintergrund ist[...]

Was meinst du mit größe berechnen? -Etwa die Größe das Containers, der die Komponenten enthätlt? Die ist ja in der Regel eh nicht konstant und daher benutzt ja vor allem Layouts. Wenn du die Anfangsgröße des Container meinst, dann kann ich nur sagen, dass man diese ja in der Regel eh vorher weiß (außer bei sehr großer Verschachtelung, auf die man eh verzichten kann, wenn man einen guten LayoutManager wie etwa FormLayout von JGoodies verwendet.

Also stell doch bitte deine Frage etwas präzieser, denn ich kann damit jetzt nur spekulieren was du meinst (könnte möglicherweise aber auch an mir liegen...)!
 
P

Pèrigord

Gast
Hm, ja zum Beispiel. Wir haben ein JFrame, im Norden setze ich ein JPanel mit buttons und labels und im Center setze ich eine Zeichenkomponente(die verschiedene Sachen zeichnet) die von JPanel erbt.

Eigentlich wollte ich die Zeichenkomponente in ein JPanel setzen, aber leider zeichent es nichts. Daher möchte ich irgendwie herausfinden was da mit der Grösse passiert?

Danke
 

DanZ

Bekanntes Mitglied
Was ich suche ist eine Erklärung die, die Masse von den verschiedenen Layout's angiebt

Sicher? Die Masse? :p

Du kannst der Komponente deren Größe dich interessiert einen ComponentListener adden (myComponent.addComponentListener). In der Methode componentResized wirst du jedes mal informiert, wenn sich die Größe geändert hat. Dann kannst du sie mit myComponent.getSize holen und ausgeben oder was auch immer du damit machen willst
 

GUI-Programmer

Top Contributor
Eigentlich wollte ich die Zeichenkomponente in ein JPanel setzen, aber leider zeichent es nichts.

Warum nicht, sollte eigentlich imho funktionieren, wenn mans richtig macht, poste doch mal diesen Code. Ich glaube nänlich dann kannst du dir nun diese "Folgeprobleme" ersparen.

Kurz noch mal zum richtigen Zeichnen in einem JPanel:
Code:
paintComponent(Graphics g)
und nicht
Code:
paint(Graphics g)
oder andere Zeichenmethoden überschreiben und in die 1. Zeile der paintComponent() den super - Aufruf schreiben, also
Code:
super.paintComponent(g);
. Danach kann alles weitere Zeichnen erfolgen.
 
P

Pèrigord

Gast
Sicher? Die Masse? :p

Du kannst der Komponente deren Größe dich interessiert einen ComponentListener adden (myComponent.addComponentListener). In der Methode componentResized wirst du jedes mal informiert, wenn sich die Größe geändert hat. Dann kannst du sie mit myComponent.getSize holen und ausgeben oder was auch immer du damit machen willst

Hi,

Was für Komponenten düren es sein, auch Klassen?

Z.B. so, oder wie sollte die Syntax sein? Und es suzugeben einfach [c]System.out.println(w1.getsize());[/c] , oder wie?
Java:
Grafikwürfel1 w1 = new Grafikwürfel1();
frame.add(BorderLayout.CENTER, w1);
frame.addComponentListener(BorderLayout.CENTER, w1);
w1.getSize();

@GUI-Programmer:
Muss man dies immer mit einem super-Aufruf machen? Habe auch schon ohne diesen gezeichnet.
Werde im Lauf des Threads, dann ein Code posten.

Danke
P.
 

GUI-Programmer

Top Contributor
Der super Aufruf bedeutet ja, dass die "originale" paintComponent() auch aufgerufen wird, also zuerst der Körper des Komponenten gezeichnet wird, bei einem JPanel ohne irgendwelche Einstellungen ganz einfach ein Rechteck mit der Hintergrundfarbe (falls opaque). Von daher brauchst du es nicht unbedingt, es wäre aber für eine Zeichenfläche schon sinnvoll.

Noch was: Die paint() Methode ruft zuerst die paintComponet(), dann die paintBorder() und danach die paintChildren() auf.
Du kannst ja mal, aber wirklich nur zu Testzwecken, diese überschreiben und den super Aufruf wegglassen. Du wirst sehen, dass weder Hintergrund, noch Border noch irgendwelche Komponenten, die diesem hinzugefügt wurden gezeichnet werden.
 

DanZ

Bekanntes Mitglied
Hi,

Was für Komponenten düren es sein, auch Klassen?

Z.B. so, oder wie sollte die Syntax sein? Und es suzugeben einfach [c]System.out.println(w1.getsize());[/c] , oder wie?
Java:
Grafikwürfel1 w1 = new Grafikwürfel1();
frame.add(BorderLayout.CENTER, w1);
frame.addComponentListener(BorderLayout.CENTER, w1);
w1.getSize();
P.

Nur Klassen die von Component erben, also in folgender Art:

Java:
final Grafikwürfel1 w1 = new Grafikwürfel1();
frame.add(BorderLayout.CENTER, w1);
w1.addComponentListener(new ComponentAdapter() {
         public void componentResized(ComponentEvent e) {
              System.out.println(w1.getsize());
         }
});
 
P

Pèrigord

Gast
Ja das funktioniert mit dem anzeigen der Grösse der Komponente, Danke.

Funktioniert das zeichnen auf einem JPanel?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G LayoutManager Beliebige Anzahl von Panels für LayoutManager AWT, Swing, JavaFX & SWT 3
R Swing Welche LayoutManager sind die richtigen für mich? AWT, Swing, JavaFX & SWT 11
F Zeichnung einem JPanel im Layoutmanager zuweisen AWT, Swing, JavaFX & SWT 3
Z Swing Welcher Layoutmanager bei ScrollPane? AWT, Swing, JavaFX & SWT 4
F Welchen Layoutmanager verwenden? AWT, Swing, JavaFX & SWT 2
G Komponenten vergrößern sich nicht trotz Layoutmanager AWT, Swing, JavaFX & SWT 24
N Welcher LayoutManager AWT, Swing, JavaFX & SWT 16
Birke Swing Neue Swing LayoutManager: TOnion Projekt AWT, Swing, JavaFX & SWT 10
B Swing JLabel und LayoutManager AWT, Swing, JavaFX & SWT 20
F Swing Layoutmanager für Mittplatzierung ? AWT, Swing, JavaFX & SWT 6
B SWT Dynamische GUI (Layoutmanager?) AWT, Swing, JavaFX & SWT 2
J Welche(n) LayoutManager für große Gui? AWT, Swing, JavaFX & SWT 6
D Layoutmanager in Java Swing vs. Java AWT AWT, Swing, JavaFX & SWT 3
J 2 Bereiche im Frame komplett nutzen - Welchen Layoutmanager? AWT, Swing, JavaFX & SWT 3
TheWhiteShadow Swing suche passenden LayoutManager AWT, Swing, JavaFX & SWT 8
SexyPenny90 Welcher LayoutManager erfüllt meine Bedingung AWT, Swing, JavaFX & SWT 7
C SWT LayoutManager AWT, Swing, JavaFX & SWT 2
L LayoutManager macht nichts AWT, Swing, JavaFX & SWT 19
S LayoutManager Welcher LayoutManager für dieses zweispaltige Layout? AWT, Swing, JavaFX & SWT 13
R Layoutmanager AWT, Swing, JavaFX & SWT 4
M Fenster aufteilen, aber mit welchem LayoutManager? AWT, Swing, JavaFX & SWT 10
G LayoutManager LayoutManager gesucht AWT, Swing, JavaFX & SWT 2
R Swing Variable Panelbreite ohne Layoutmanager AWT, Swing, JavaFX & SWT 6
R LayoutManager Problem mit setLayout(LayoutManager) AWT, Swing, JavaFX & SWT 9
F Anfängerfrage: Swing und LayoutManager AWT, Swing, JavaFX & SWT 4
V LayoutManager Eigener LayoutManager funktioniert nicht. AWT, Swing, JavaFX & SWT 5
N LayoutManager suche LayoutManager für Tabellenstruktur AWT, Swing, JavaFX & SWT 2
D LayoutManager JPanels ohne LayoutManager platzieren AWT, Swing, JavaFX & SWT 6
Ollek JTextField Verhalten mit LayoutManager AWT, Swing, JavaFX & SWT 8
B LayoutManager mischen keine gute Idee? AWT, Swing, JavaFX & SWT 9
hdi SWT Suche passenden LayoutManager AWT, Swing, JavaFX & SWT 5
C passender layoutmanager gesucht AWT, Swing, JavaFX & SWT 2
I Swing Positionieren von Panels mit layoutManager AWT, Swing, JavaFX & SWT 6
E Swing Suche LayoutManager AWT, Swing, JavaFX & SWT 5
E Layoutmanager mit fester Breite gesucht AWT, Swing, JavaFX & SWT 9
R Layoutmanager AWT, Swing, JavaFX & SWT 13
K Swing JInternalFrame und LayoutManager AWT, Swing, JavaFX & SWT 6
W LayoutManager Hell AWT, Swing, JavaFX & SWT 2
P JPanel: LayoutManager und trotzdem absolut positionieren? AWT, Swing, JavaFX & SWT 3
J eigener Layoutmanager? AWT, Swing, JavaFX & SWT 6
M JLabel mit Layoutmanager AWT, Swing, JavaFX & SWT 2
G Layoutmanager mit festem Gitter AWT, Swing, JavaFX & SWT 6
R getInsets ohne Layoutmanager AWT, Swing, JavaFX & SWT 7
R LayoutManager ähnlich BorderLayout, mit einer Ausnahme AWT, Swing, JavaFX & SWT 2
T Layoutmanager der vorhanden Platz beruecksichtigt? AWT, Swing, JavaFX & SWT 5
J LayoutManager der Elemente untereinander anordnet. AWT, Swing, JavaFX & SWT 11
F Der richtige Layoutmanager AWT, Swing, JavaFX & SWT 6
G LayoutManager und Abstand AWT, Swing, JavaFX & SWT 6
A LayoutManager-Wünsche AWT, Swing, JavaFX & SWT 16
T % von Komponenten unter Layoutmanager AWT, Swing, JavaFX & SWT 2
M Layoutmanager und Komponente AWT, Swing, JavaFX & SWT 2
F LayoutManager und Component.setVisible(boolean) AWT, Swing, JavaFX & SWT 2
G Fenster mit LayoutManager AWT, Swing, JavaFX & SWT 3
C Verschachtelung von JPanels mit verschiedenen LayoutManager AWT, Swing, JavaFX & SWT 4
T JInternalFrame Konflikt mit LayoutManager AWT, Swing, JavaFX & SWT 5
S JTextField ohne LayoutManager positionieren AWT, Swing, JavaFX & SWT 3
F PanelBounds an TextPaneBounds anpassen LayoutManager: Null AWT, Swing, JavaFX & SWT 2
B Welchen LayoutManager? AWT, Swing, JavaFX & SWT 17
S Wie funktioniert der LayoutManager? AWT, Swing, JavaFX & SWT 9
P Zeichnen + LayoutManager AWT, Swing, JavaFX & SWT 7
B Layoutmanager Tutorial AWT, Swing, JavaFX & SWT 15
M LayoutManager Informationen AWT, Swing, JavaFX & SWT 4
L LayoutManager ähnlich wie FlowLayout AWT, Swing, JavaFX & SWT 5
S Welchen Layoutmanager? AWT, Swing, JavaFX & SWT 6
D LayoutManager und JPanel AWT, Swing, JavaFX & SWT 9
J Welcher Layoutmanager? AWT, Swing, JavaFX & SWT 20
L Probleme mit Scrollbar und LayoutManager AWT, Swing, JavaFX & SWT 3
G Neuer LayoutManager AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben