D
Angenommen Ich habe einen Root Pane in einem JFrame in welchem sich ein weiteres Panel befindet mit einer MinimumSize von 100x100 pixel. Nun wird der Frame auf eine Größe von 80x80 pixel gebracht, das innere Panel passt also nicht mehr ganz hinein und wird verschnitten.
Naja bei diesem einfachen beispiel leistet pack() ganz gute Dienste.
pack() berechnet ja den minimalen Platzverbrauch den die inneren Components einnehmen allerdings gibt es diese Größe weder zurück sodass ich sie verarbeiten kann, noch beachtet pack() das die Bildschirmauflösung begrenzt sein kann.
Das stimmt, aber du kannst ja nach einem pack() die Größe mit myJFrame.getsize() abfragen.
Das mit der Auflösung stimmt, und daran hatte ich bisher nicht gedacht. Du wirst wohl nach dem pack() die Größe bestimmen müssen und dann über Math.min(size.width, screensize.width) die Größe entsprechend reduzieren, wenn du das brauchst.
pack() nutzt zur berechnung wohl die preferredSize des RootPanes des Frames
Das wird wohl so sein, aber du kannst diese ja dann auch nutzen.