getInsets ohne Layoutmanager

Status
Nicht offen für weitere Antworten.
R

riker

Gast
Hallo,

ich bin gerade dabei, ein wenig mit AWT zu programmieren. Dabei möchte ich gerne auf den Layoutmanager verzichten. Um aber ein Panel nicht über das gesamte Fenster, sondern nur über den Anwendungsbereich aufzuspannen, benötige ich ja die Abmessungen von Titelleiste und Fensterrahmen. Die passende Methode getInsets() liefert bei mir aber nur Nullen, wenn ich den Layoutmanager meines Frames deaktiviert habe.

Ist es denn so unüblich, ohne den Manager zu arbeiten? Bei einfachen Programmen stört er mich einfach, zumal er doch gar nicht wissen kann, wo ich meine Steuerelemente platziert haben möchte. Und warum funktioniert das Abfragen der Rahmengrößen nicht mehr?

Gruß,
riker
 

André Uhres

Top Contributor
>Die passende Methode getInsets() liefert bei mir aber nur Nullen,
>wenn ich den Layoutmanager meines Frames deaktiviert habe.
Bei mir liefert sie in dem Fall: java.awt.Insets[top=30,left=4,bottom=4,right=4]

>Ist es denn so unüblich, ohne den Manager zu arbeiten?
Ja

>zumal er doch gar nicht wissen kann, wo ich meine Steuerelemente platziert haben möchte.
Dazu gibt es die "constraints".
http://java.sun.com/docs/books/tutorial/uiswing/layout/using.html
 
R

riker

Gast
Naja, danke erstmal. Aber ganz ehrlich, für sehr kleine Programme wirkt das ganze für mich wie "Overkill". Mag ja sein, dass dieser Manager einem bei riesigen Projekten und hunderten von Steuerelementen behilflich ist, aber an dieser Stelle kann ich ihn einfach nicht gebrauchen.

Gibt es also in Java bzw. AWT tatsächlich keine andere Möglichkeit, die Abmessungen des Fensterrahmens abzufragen, unabhängig davon, ob der Layoutmanager aktiviert ist oder nicht?
 

Lim_Dul

Top Contributor
Eineb LayoutManager kann auch bei wenigen Elementen nutzen. Ohne LayoutManager handelt man sich nämlich einiges an "Overkill" ein.

- Verschiedene Look & Feels:
Unter verschiedenen Look & Feels (und je nach OS) sind die Größen der einzelnen Elemente unterschiedlich (Ränder etc.).
Ohne LayoutManager musst du immer aufpassen, das unter allen Möglichkeiten alle Elemente sauber sichtbar sind.
- Fensterskalierung bekommt man mit einem LayoutManager geschenkt, ohne LayoutManager verzichtet man entweder drauf oder muss händisch mit Listenern reagieren und selber sein Layout berechnen.
- Widgets lassen sich später einfach durch andere Widgets ersetzen, ohne das man viel am Layout machen muss. Hat man manuell harte Größen kodiert kann man den Taschenrechner auspacken - Hats man selber berechnet hätte man auch gleich einen LayoutManager nehmen können.

Daher ist es eigentlich so gut wie nie sinnvoll auf einen LayoutManager zu verzichten.
 
R

riker

Gast
Ok, ihr fangt an, mich zu überzeugen. Sagen wir mal, ich möchte mein Fenster in zwei Bereiche unterteilen, also eine vertikale Trennung vornehmen. Wahrscheinlich sollte ich dazu zwei Panels erstellen. Das eine soll sich ganz rechts befinden, einige Steuerelemente beinhalten und eigentlich eine konstante Breite (Höhe je nach Fensterhöhe) besitzen.

Das zweite Panel soll dann den links davon übrig bleibenden Platz des Anwendungsbereichs ausnutzen und dann halt auch automatisch bei einer Größenänderung des Fenster mit angepasst werden. Die Layouts der einzelnen Panels sind ja erst einmal egal.

Könntet ihr mir eventuell sagen, wie ich das mit Hilfe des Layoutmanagers meines Frames umsetzen kann?
 

Lim_Dul

Top Contributor
BorderLayout nehmen, das Panel ganz rechts kommt in den EAST Bereich (EAST = Höhe dynamsich an Fenster anpassen, Breite fest auf der PreferredSize) und das linke kommt in den CENTER Bereich (CENTER = nimmt den restlichen Bereich ein). 3 Zeilen Code, fertig :)
 
R

riker

Gast
Gut, ich habe jetzt folgendes:

Code:
setLayout(new BorderLayout());		
add(spielfeld, BorderLayout.CENTER);
add(panel, BorderLayout.EAST);

Wie genau sage ich jetzt dem "panel", dass es eine feste Breite von x Pixeln einnehmen soll? setPreferredSize() gibt es nur als Version, die einen Dimension-Typ erwartet, also anscheinend direkt Breite und Höhe. Die Höhe soll aber doch an das Fenster angepasst werden, lediglich die Breite soll konstant sein.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Swing getInsets() JInternalFrame AWT, Swing, JavaFX & SWT 2
Juelin starten maven javafx programm ohne netbeans AWT, Swing, JavaFX & SWT 38
M KeyEvent ohne Fokus konsumieren AWT, Swing, JavaFX & SWT 1
Georges456 NetBeans am Mac leider ohne FXML AWT, Swing, JavaFX & SWT 17
A JOptionPane OK ohne Eingabe abfangen AWT, Swing, JavaFX & SWT 10
A JavaFX exportierte Jar ohne beim starten die Libs hinzufügen? AWT, Swing, JavaFX & SWT 2
N setOnKeyPressed ohne Scene AWT, Swing, JavaFX & SWT 2
M mvvm umsetzen ohne fxml AWT, Swing, JavaFX & SWT 0
L JavaFX OpenJFX16 App ohne Gradle and Maven? AWT, Swing, JavaFX & SWT 2
izoards Jar startet jedoch ohne Hintergrundfunktion AWT, Swing, JavaFX & SWT 25
L FX-Projekt: fast leere Fensterausgabe ohne Fehlermeldung AWT, Swing, JavaFX & SWT 6
H Timer ohne alles lahmzulegen? AWT, Swing, JavaFX & SWT 2
Z Random Butten erstellen ohne Container AWT, Swing, JavaFX & SWT 15
VPChief Ein JFrame ohne setUndecorated(true); nicht verschiebbar machen. AWT, Swing, JavaFX & SWT 6
Fiedlerdan Vergleich vieler Strings ohne ellenlange Argumentierten AWT, Swing, JavaFX & SWT 7
L Daten bearbeiten ohne GUI zu blockieren - daten haltung/zurück geben AWT, Swing, JavaFX & SWT 15
D Swing Anwendung ohne JPanel erstellen AWT, Swing, JavaFX & SWT 1
N Aktualisierung des Fensters AWT Java ohne Ruckeln AWT, Swing, JavaFX & SWT 3
T JavaFX Dialog schließt ohne dass es schließen soll AWT, Swing, JavaFX & SWT 1
K JFreeChart nicht ohne BarChartDemo startklar? AWT, Swing, JavaFX & SWT 5
GenerationLost JavaFX FileChooser speichern ohne Zieldatei? AWT, Swing, JavaFX & SWT 12
Y Objekte grafisch darstellen ohne GMF - Composite auf Canvas? AWT, Swing, JavaFX & SWT 2
K KeyListener ohne JFrame AWT, Swing, JavaFX & SWT 9
T Custom Window ohne Swing / AWT / FX..?! AWT, Swing, JavaFX & SWT 1
S Zeichen ohne paint-Methode AWT, Swing, JavaFX & SWT 2
M Menü ohne Menübar umsetzen[SWT] AWT, Swing, JavaFX & SWT 8
kilopack15 Buttons ohne Funktion AWT, Swing, JavaFX & SWT 2
S 2D-Grafik User-BufferedImage rotieren im Zentrum und ohne "anpassung" AWT, Swing, JavaFX & SWT 2
Ghostman1711 Java JFormattedTextfield MaskFormatter ohne Leerzeichen AWT, Swing, JavaFX & SWT 3
Z Swing Frame wird geöffnet, aber ist ohne Inhalt AWT, Swing, JavaFX & SWT 0
C Jframe ohne Rahmen AWT, Swing, JavaFX & SWT 3
R JavaFX Wert einer ChoiceBox bekommen ohne Lambdas AWT, Swing, JavaFX & SWT 11
Fishmeaker Shortcuts ohne ALT zuweisen AWT, Swing, JavaFX & SWT 1
O JTable ohne Rahmen printen AWT, Swing, JavaFX & SWT 3
M Mouse Click Event ohne ein JComponent Objekt AWT, Swing, JavaFX & SWT 3
W Swing JLabel jede Sekunde aktualisieren, ohne Timer zu benutzen AWT, Swing, JavaFX & SWT 4
M JavaFX Ein Bild ohne Rahmen fällt runter? AWT, Swing, JavaFX & SWT 2
M Zeichnen ohne vorherige Linien zu löschen AWT, Swing, JavaFX & SWT 2
F Swing JPanels übereinander ohne Mananger AWT, Swing, JavaFX & SWT 1
N GUI Design ohne GUIDesigner AWT, Swing, JavaFX & SWT 10
X Swing Ein neues Fenster öffen aber ohne ein extra Prozess zu starten AWT, Swing, JavaFX & SWT 1
C JTextfield ohne Enter feuern AWT, Swing, JavaFX & SWT 8
F Swing String[] in JTextArea ausgeben. Jeder Eintrag in neue Zeile, aber ohne "\n"- Geht das? AWT, Swing, JavaFX & SWT 3
S Paint Methode ohne implements JPanel AWT, Swing, JavaFX & SWT 1
A Textfeld.append/.setText ohne Funktion AWT, Swing, JavaFX & SWT 2
T JAXB funktioniert ohne IDE nicht verlässlich AWT, Swing, JavaFX & SWT 12
H org.eclipse.swt.Slider ohne Buttons AWT, Swing, JavaFX & SWT 1
M Benutzer-Dialog ohne System.in/out AWT, Swing, JavaFX & SWT 2
K JavaFX Tableview mit fxml ohne Aktualiserung trotz Thread AWT, Swing, JavaFX & SWT 13
C JFrame paint ohne hintergrund nutzen AWT, Swing, JavaFX & SWT 6
T Swing HTML Text aus JLabel ohne "HTML-Tags" in String einlesen AWT, Swing, JavaFX & SWT 5
J 2D-Grafik Simple Grafikanzeige ohne Desktopumgebung? AWT, Swing, JavaFX & SWT 2
F Swing Datenmodell in Tree spiegeln ohne Adapterklassen AWT, Swing, JavaFX & SWT 5
I JTable Inhalte löschen ohne den JTable zu verändern! AWT, Swing, JavaFX & SWT 5
T Bild drehen ohne Resize AWT, Swing, JavaFX & SWT 3
J Einträge aus Table löschen ohne Exception AWT, Swing, JavaFX & SWT 6
C Swing Fortschrittsanzeige im Dialog ohne Fortschrittsbalken und Abbruchoption AWT, Swing, JavaFX & SWT 7
M JSlider-Wert ändern, ohne ein ChangeEvent auszulösen AWT, Swing, JavaFX & SWT 4
J SWING - Programm ohne Eclipse etc. starten AWT, Swing, JavaFX & SWT 7
V Swing JButton ohne Border bei Anklicken AWT, Swing, JavaFX & SWT 3
M SWING Listener ohne Wirkung AWT, Swing, JavaFX & SWT 2
J Swing Farbe wählen ohne JColorChooser 2 AWT, Swing, JavaFX & SWT 23
Oliver530 JButton setEnabled(false) ohne Farbverlust AWT, Swing, JavaFX & SWT 3
B Swing JEditorPane ohne Zeilenumbruch nach InputStream AWT, Swing, JavaFX & SWT 2
D Swing JComponent zeichnen ohne sie zur Oberfläche hinzuzufügen AWT, Swing, JavaFX & SWT 2
GUI-Programmer Swing JWindow - Programm wird ohne Grund beendet AWT, Swing, JavaFX & SWT 3
N Swing JSpinner mit Datum aber ohne Uhrzeit AWT, Swing, JavaFX & SWT 2
E Null-Layout - Wie geht es ohne? AWT, Swing, JavaFX & SWT 19
S Java GUI Anwendung ohne Konsole starten AWT, Swing, JavaFX & SWT 6
J Swing JTable: Komplette Zeile aber ohne Spalten markieren AWT, Swing, JavaFX & SWT 11
C JFrame ohne Titelleiste, aber mit Borders AWT, Swing, JavaFX & SWT 2
D 3D-Grafik Java 3D ohne Plugin AWT, Swing, JavaFX & SWT 4
S Swing Zelle einer JTable hervorheben (ohne CellRenderer) AWT, Swing, JavaFX & SWT 3
R Swing Variable Panelbreite ohne Layoutmanager AWT, Swing, JavaFX & SWT 6
M Zugriff auf Variablen eines Objektes ohne sie auf static zu setzen AWT, Swing, JavaFX & SWT 9
H Anwendung schließen ohne System.exit AWT, Swing, JavaFX & SWT 5
T GUI ohne Rahmen auf Desktop AWT, Swing, JavaFX & SWT 3
S Bilddatei kopieren, aber ohne verluste und ohne zu großen Speicherverbrauch AWT, Swing, JavaFX & SWT 17
T jPanels im jFrame bewegen - Auch ohne Textfield? AWT, Swing, JavaFX & SWT 4
R Anwendung ohne Symbol in der Taskleiste AWT, Swing, JavaFX & SWT 3
G JSpinner ohne Tausendertrennzeichen AWT, Swing, JavaFX & SWT 5
D Aufruf neuer Klasse ohne Erzeugung eines neuen Fensters AWT, Swing, JavaFX & SWT 3
U JDialog ohne Taskleiste AWT, Swing, JavaFX & SWT 7
R Swing jbutton.setEnabled(false) ohne Ausgrauung des Buttons? AWT, Swing, JavaFX & SWT 6
Spin JTable Header wird nicht angezeigt ohne ScrollPane AWT, Swing, JavaFX & SWT 3
W AWT Drucken ohne Druckdialog AWT, Swing, JavaFX & SWT 2
R 2D-Grafik auf JPanel zeichen - ohne @Override paintComponent AWT, Swing, JavaFX & SWT 6
C JTextPane / JEditorPane ohne Keywords farbig machen AWT, Swing, JavaFX & SWT 4
S TextArea ausgabe ohne JFrame zu implementieren AWT, Swing, JavaFX & SWT 2
M 3D-Grafik Bewegung mit der Maus ohne Klicken AWT, Swing, JavaFX & SWT 10
darekkay Tabbed Panes ohne Tab-Titel? AWT, Swing, JavaFX & SWT 2
C jComboBox in jTable ohne Klick öffnen AWT, Swing, JavaFX & SWT 4
R Kann ich GANZ ohne AWT auskommen? AWT, Swing, JavaFX & SWT 5
H Swing HTML in einem JEditorPane zeilenweise hinzufügen ohne Inhalt jedes Mal neu zu laden AWT, Swing, JavaFX & SWT 4
K JFileChooser mehrere Dateien markieren ohne STRG AWT, Swing, JavaFX & SWT 4
P Swing Größe eines JPanels bestimmen (ohne Border!) AWT, Swing, JavaFX & SWT 2
M JGraph Kante ohne Objekte AWT, Swing, JavaFX & SWT 2
S Swing UI-Elemente ordnen sich ungewollt in einer Reihe (ohne Layout) AWT, Swing, JavaFX & SWT 5
D LayoutManager JPanels ohne LayoutManager platzieren AWT, Swing, JavaFX & SWT 6
N LayoutManager TableLayout ohne IDE AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben