Breite und Höhe des contentPane abfragen

Status
Nicht offen für weitere Antworten.

Parkbank

Neues Mitglied
Guten Morgen,

das Problem ist wahrscheinlich völlig idiotisch und simpel zu lösen, ich finde aber leider keinen Lösungsansatz und bin kurz vor dem Verzweifeln.

Ich habe eine Klasse namens MainWindow, in der ich aktuell ein Button-Panel einbinde. Dieses Button-Panel steckt in einer eigenen Klasse namens StartButtonPanel. Mein MainWindow-Konstruktor setzt alle Komponenten zusammen:

Code:
...
        this.mainMenuBar = new MainMenuBar();
        this.setJMenuBar(mainMenuBar.getMainMenuBar());
        
        this.startButtonPanel = new StartButtonPanel();
        contentPane.add(startButtonPanel.getStartButtonPanel());

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setSize(800, 500);
        this.setLocation(50, 50);
        this.setVisible(true);

Der Konstruktor meines StartButtonPanels setzt wiederum meine einzelnen JButtons in einem null-Layout zusammen.

Nun brauche ich in meiner StartButtonPanel-Klasse die Höhe und Breite meiner MainWindow. Diese wurde ja mit setSize aktuell auf 800x500 festgesetzt. Das contentPane, auf dem mein StartButtonPanel angezeigt wird, ist logischerweise geringfügig kleiner.

Wie kann ich denn in meiner Klasse StartButtonPanel auf die Höhe und Breite des MainWindow-contentPane zugreifen?
Die Größe des contentPane wird scheinbar erst nach Aufruf der setVisible() festglegt (davor: Breite und Höhe = 0). Dementsprechend müsste ich _vor_ der Instanziierung und dem Hinzufügen meines StartButtonPanel die setVisible() aufrufen. Das wiederum würde aber keinen Sinn ergeben, denn dann würde mein StartButtonPanel hinter dem contentPane liegen bzw. nicht angezeigt werden.

Für Tipps wäre ich dankbar ;)

Gruß,
Parkbank
 

Quaxli

Top Contributor
Du kannst Dein StartButton-Panel auch hinzufügen, wenn Dein Fenster schon sichtbar ist, aber schön ist das nicht. Du mußt nur ein validate() aufrufen, damit die Komponente dann auch gezeichnet wird.

Die beste Lösung wäre vermutlich, wenn Du Dich von dem Null-Layout verabschiedest. Ich behaupte, daß man einen Großteil der GUI's, die mit Null-Layout gebastelt werden auch durch das Verschachteln geeigneter Standard-Layouts erreichen könnte.
 
S

SlaterB

Gast
kommt darauf an, wofür du die Infos brauchst,

ein eleganter Weg ist doch offensichtlich erstmal,
von der main-Klasse aus, wo die 800 und 500 bekannt sind, diese Werte oder auch jeweils -10 an StartButtonPanel zu übergeben, z.B. im Konstruktor,

wenn das in Programmlogik nicht zu machen ist und du wirklich die exaten Daten des ContentPanes brauchst,
dann scheint da gehörig was falsch zu laufen,
beschreibe doch, wofür du die Infos brauchst, vielleicht kann man dann dort was drehen
 
G

Guest

Gast
SlaterB hat gesagt.:
kommt darauf an, wofür du die Infos brauchst,
Die Infos benötige ich deshalb, weil ich das Button-Panel horizontal und vertikal zentriert im Hauptfenster einfügen möchte.

SlaterB hat gesagt.:
ein eleganter Weg ist doch offensichtlich erstmal,
von der main-Klasse aus, wo die 800 und 500 bekannt sind, diese Werte oder auch jeweils -10 an StartButtonPanel zu übergeben, z.B. im Konstruktor,
Das hatte ich mir auch schon überlegt. Wobei sich dann die Frage stellt, welche Höhe die JMenuBar hat. Hierfür hatte ich noch keine passende Methode gefunden, um genau dies herauszufinden (hier steht mir wohl wieder mein "Perfektionismus" im Weg...).

Inwiefern mein eingeschlagener Weg mit dem null-Layout wirklich elegant und sinnvoll ist, vermag ich nicht zu sagen. Mit Sicherheit bietet Java bereits eine Möglichkeit, um mein Ziel eleganter zu erreichen. Nur hatte ich auf Anhieb keine passende gefunden (wobei ich generell dazu tendiere die einfachen Lösungen zu übersehen und mich gleich dem kompliziertesten Weg zuwende). Davon aber mal abgesehen wollte ich auch mal mit dem null-Layout arbeiten, ohne mehrere Standard-Layouts ineinander verschachteln zu müssen.

Vielen Dank übrigens schonmal für eure Antworten :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Jose05 Javafx Label Höhe=Breite AWT, Swing, JavaFX & SWT 1
R Java FX - Fxml - relative Größenangaben für Breite und Höhe einer TextArea AWT, Swing, JavaFX & SWT 8
Z Java Draw -JFrame finde nicht die Mitte & höhe, breite AWT, Swing, JavaFX & SWT 7
T Swing JScrollPane in JPanel - Breite dynamisch, Höhe fix - wie? AWT, Swing, JavaFX & SWT 2
M Wie ermittele ich die Breite und Höhe meines Displays in Pixel AWT, Swing, JavaFX & SWT 3
N Swing Optimale Höhe eine JTextPanes bei festgelegter Breite bestimmen AWT, Swing, JavaFX & SWT 23
F 2D-Grafik Problem mit höhe||breite eines JFrames AWT, Swing, JavaFX & SWT 4
E Wie Breite und Höhe eines Panels festlegen? AWT, Swing, JavaFX & SWT 5
S Für Breite und Höhe werden 0.0 angezeigt AWT, Swing, JavaFX & SWT 2
C Swing JTextArea mit fester Breite und angepasster Höhe??? AWT, Swing, JavaFX & SWT 8
Y Einzigartigkeit des GridBagLayout - individuelle Höhe/Breite AWT, Swing, JavaFX & SWT 4
T Breite des Containers ist gegeben - wie die Höhe berechnen? AWT, Swing, JavaFX & SWT 3
A JTextFiled-Breite und Höhe ändern AWT, Swing, JavaFX & SWT 3
S Feste Breite und Höhe für einen formatierten Text. AWT, Swing, JavaFX & SWT 5
G Klasse Image - Höhe und Breite ermitteln AWT, Swing, JavaFX & SWT 12
B JEditorPane: Höhe für bestimmte Breite bestimmen AWT, Swing, JavaFX & SWT 4
K Höhe und Breite eines Panels im GridBagLayout ermitteln AWT, Swing, JavaFX & SWT 9
D JLabel mit fester Breite und beliebiger Höhe AWT, Swing, JavaFX & SWT 4
L wie kann man die Höhe und Breite von JList festlegen AWT, Swing, JavaFX & SWT 3
W JavaFX Button - optimale Breite berechnen AWT, Swing, JavaFX & SWT 1
J Gridpane Breite in Scrollpane automatisch anpassen AWT, Swing, JavaFX & SWT 2
G JavaFX - bugs bei der ermittlung der breite der nodes AWT, Swing, JavaFX & SWT 3
G Rectangle Breite richtet such an die Breite vom Text AWT, Swing, JavaFX & SWT 1
C JavaFX TableColumn - TableColumn Breite AWT, Swing, JavaFX & SWT 8
D Swing Breite einer HTML Tabelle in einer JTextPane AWT, Swing, JavaFX & SWT 6
F Breite beim GridBagLayout festlegen AWT, Swing, JavaFX & SWT 2
A trotz setSize keine breite AWT, Swing, JavaFX & SWT 4
K JSpinner in passender Breite erstellen oder automatisch anpassen AWT, Swing, JavaFX & SWT 2
E Breite eines JButton dynamisch ändern AWT, Swing, JavaFX & SWT 3
S JTable Spalte "normale" Breite? AWT, Swing, JavaFX & SWT 5
L TreeViewerColumn - gesamte TreeView-breite nutzen? AWT, Swing, JavaFX & SWT 5
M 2 Buttons mit derselben Breite AWT, Swing, JavaFX & SWT 9
4 Shapes Informationen wie Breite usw. mitgeben AWT, Swing, JavaFX & SWT 5
B JFileChooser breite der Spalten? AWT, Swing, JavaFX & SWT 5
B Label breite ermitteln vor dem rendern? AWT, Swing, JavaFX & SWT 7
A FormLayout Panel-Breite AWT, Swing, JavaFX & SWT 7
Dit_ Swing JComboBox | Breite des Scrollbalkens AWT, Swing, JavaFX & SWT 4
D JFreeChart Breite (width) ändern AWT, Swing, JavaFX & SWT 6
Rudolf Swing Swing Button breite stanardisieren AWT, Swing, JavaFX & SWT 2
N Swing JPanel Nur Breite festlegen AWT, Swing, JavaFX & SWT 7
M breite eines "drawString()-Strings" AWT, Swing, JavaFX & SWT 2
F JTabbedPane Reiter breite AWT, Swing, JavaFX & SWT 4
M SWT Breite von Textfeld nur ohne Layout änderbar AWT, Swing, JavaFX & SWT 2
H SWT Breite von componenten zu bestimmen AWT, Swing, JavaFX & SWT 2
S JSlider Track Breite und Farbe AWT, Swing, JavaFX & SWT 2
N breite von JList festlegen AWT, Swing, JavaFX & SWT 3
E Layoutmanager mit fester Breite gesucht AWT, Swing, JavaFX & SWT 9
reibi SWT Breite Taskleiste herausfinden AWT, Swing, JavaFX & SWT 2
C Breite JTextArea/JScrollPane setzen AWT, Swing, JavaFX & SWT 4
S Swing JTable: Spalten mit relativer Breite im ungleichmäßigen Verhältnis AWT, Swing, JavaFX & SWT 2
M Swing JTable + JScrollPane (Breite und Höhenproblem) AWT, Swing, JavaFX & SWT 1
S Table oder TableModel so ueberschreiben, dass Columns minimale Breite haben? AWT, Swing, JavaFX & SWT 2
D JtoolBar feste Breite ? AWT, Swing, JavaFX & SWT 13
J JTextPane mit genau 80 Zeichen breite definieren? AWT, Swing, JavaFX & SWT 3
V Swing: Konstant breite Sidebar AWT, Swing, JavaFX & SWT 2
D Breite eines JScrollPane AWT, Swing, JavaFX & SWT 3
B Feste Breite einer JTextPane, die HTML anzeigt AWT, Swing, JavaFX & SWT 8
G JMenu problem mit der Breite von einer JCheckBox AWT, Swing, JavaFX & SWT 2
B horizontale bzw. vertikale JScrollBar breite von JScrollPane AWT, Swing, JavaFX & SWT 5
S JTable - Breite der Linien AWT, Swing, JavaFX & SWT 8
D GridBagLayout: 2. Spalte auf JPanel-Breite expandieren AWT, Swing, JavaFX & SWT 2
F JTable: Spaltenbreiten an Breite der Zelleninhalte anpassen AWT, Swing, JavaFX & SWT 5
lhein Breite der Scrollbar in einer Combobox ändern AWT, Swing, JavaFX & SWT 5
Z Column Breite in JTable automatisch an Inhalt anpassen AWT, Swing, JavaFX & SWT 3
R Breite von JTextField in einem GridBagLayout begrenzen AWT, Swing, JavaFX & SWT 3
P Breite eines JScrollbar vergrößern, aber wie? AWT, Swing, JavaFX & SWT 8
K JTextfield - breite AWT, Swing, JavaFX & SWT 3
S JPanel in JScrollPane in der Breite begrenzen AWT, Swing, JavaFX & SWT 3
M Breite veraendern zwischen 2 JPanels AWT, Swing, JavaFX & SWT 2
L Swing TextPanel Schrift untereinander und auf einer Höhe AWT, Swing, JavaFX & SWT 3
sascha-sphw JavaFX ListCell höhe verändert sich beim ändern der Text-Farbe AWT, Swing, JavaFX & SWT 14
X JavaFX AreaChart area höhe wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 2
J JavaFX TableView - Höhe der Zeilen AWT, Swing, JavaFX & SWT 3
B JFreeChart Gantt Höhe Tasks AWT, Swing, JavaFX & SWT 1
S SWT TableCell mit Composite als Inhalt / Höhe der Cell/Row AWT, Swing, JavaFX & SWT 5
A LayoutManager Höhe von NORTH beim BorderLayout ändern AWT, Swing, JavaFX & SWT 4
T LayoutManager GridBagLayout - zwei jTable mit unterschiedlicher Höhe AWT, Swing, JavaFX & SWT 2
P Höhe der TitleBar vom JFrame AWT, Swing, JavaFX & SWT 2
Landei Swing JToolbar: Textfelder mit normaler Höhe? AWT, Swing, JavaFX & SWT 2
T jpanel höhe netbeans.... AWT, Swing, JavaFX & SWT 5
J Problem mit der Höhe eines Panels AWT, Swing, JavaFX & SWT 11
G Swing Höhe des View eines JScrollPane fest auf Höhe des JScrollPane setzen! AWT, Swing, JavaFX & SWT 4
H LayoutManager Auf gleicher Höhe anordnen AWT, Swing, JavaFX & SWT 4
_dp jTextArea/jTextPanel Auto Höhe AWT, Swing, JavaFX & SWT 5
D JPanel höhe setzen AWT, Swing, JavaFX & SWT 2
H variable Höhe einer JTextArea (als Renderer/Editor) als Zelle einer JTable AWT, Swing, JavaFX & SWT 9
F Swing Höhe eines Headers einer JTable anpassen AWT, Swing, JavaFX & SWT 4
N Höhe einstellen JScrollPane AWT, Swing, JavaFX & SWT 3
G JTable Multiple Row Header Example - Probleme mit der Höhe der Zellen AWT, Swing, JavaFX & SWT 4
B Höhe eines Buttons festlegen AWT, Swing, JavaFX & SWT 7
G JList Höhe? AWT, Swing, JavaFX & SWT 2
S Tabelle soll sich auch in der Höhe resizen? AWT, Swing, JavaFX & SWT 4
H JTabbedPane Höhe-Problem AWT, Swing, JavaFX & SWT 3
S [BorderLayout]WEST/EAST sollen über ganze Höhe gehen; AWT, Swing, JavaFX & SWT 3
G Linie nach Höhe einer Zahl zeichnen? AWT, Swing, JavaFX & SWT 3
G Höhe eines JPanels ermittlen AWT, Swing, JavaFX & SWT 3
S JFrame Fenster höhe der Titelzeile? AWT, Swing, JavaFX & SWT 13
B BorderLayout.WEST (JTree strecken in Höhe) AWT, Swing, JavaFX & SWT 2
D Jtable Header Höhe setzen ? AWT, Swing, JavaFX & SWT 2
M Höhe von eines Strings in Pixeln (nicht Höhe einer Zeile) AWT, Swing, JavaFX & SWT 12

Ähnliche Java Themen

Neue Themen


Oben