Layout

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hi!

Ich habe ein ziemlich blödes Problem:

ich will ein JFrame machen, das oben eine JComboBox hat, diese soll über die ganze Breite gehen, direkt drunter zwei Knöpfe in einer Zeile und wieder drunter eine JTextPane (in einer ScrollPane).
So wie ichs gemacht hab verschwinden die Scrollbalken der ScrollPane aber oft (nicht immer) wenn man das Fenster in der Größe ändert. Außerdem soll beim Fenster vergrößern die TextPane größer werden, es werden aber die Knöpfe größer.
Wie krieg ich das hin?

Es soll also so ausehen:

[====== JComboBox =======]
[=Knopf=] [=Knopf=]

[=== ScrollPane(JTextPane) ===]


Code:
JFrame.setLayout(new BorderLayout(5,5));

JFrame.add(JComboBox, BorderLayout.PAGE_START);
JFrame.add(button1, BorderLayout.LINE_START);
JFrame.add(button2, BorderLayout.LINE_END);
JFrame.add(scrollPane, BorderLayout.PAGE_END);

Grüsse, Chris
 

WieselAc

Top Contributor
Ich glaub dafür musst du schon einen etwas aufwendigeren Layout Manager nehmen. Ich bin da ja ein verfechter der GridBagLayouts. Ist zwar etwas kompliziert, aber damit geht das garantiert. Gibt aber durchaus andere Layouts die auch in der Lage sind dynamische größen zu verteilen.
 

WieselAc

Top Contributor
Hier ein primitives Beispiel dazu (wusste nicht ob die Button dynanisch sind):

Code:
/*  by Jan (insider :D  ) */

import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class GirdBagLayout extends JPanel {

    public GirdBagLayout() {
        setBackground(Color.RED);
        setLayout(new GridBagLayout());

        JButton b1 = new JButton("button1");
        JButton b2 = new JButton("button2");
        JButton b3 = new JButton("button2");

        add(b1, new GridBagConstraints(0, 0, 3, 1, 100, 0,
                GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL,
                new Insets(0, 0, 0, 0), 0, 0));
        add(b2, new GridBagConstraints(0, 1, 1, 1, 0, 0,
                GridBagConstraints.NORTH, GridBagConstraints.NONE, new Insets(
                        0, 0, 0, 0), 0, 0));
        add(b3, new GridBagConstraints(1, 1, 1, 1, 0, 0,
                GridBagConstraints.NORTH, GridBagConstraints.NONE, new Insets(
                        0, 0, 0, 0), 0, 0));
        add(new JPanel(), new GridBagConstraints(2, 1, 1, 1, 100, 0,
                GridBagConstraints.NORTH, GridBagConstraints.BOTH, new Insets(
                        0, 0, 0, 0), 0, 0));

        JPanel p = new JPanel();
        p.setBackground(Color.green);
        add(p, new GridBagConstraints(0, 2, 3, 1, 100, 100,
                GridBagConstraints.NORTH, GridBagConstraints.BOTH, new Insets(
                        0, 0, 0, 0), 0, 0));

    }

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 600);
        frame.setContentPane(new GirdBagLayout());
        frame.setVisible(true);
    }

}
 

FatFire

Bekanntes Mitglied
Ich bin ja immer wieder beeindruckt, wenn Leute freiwillig und erfolgreich das GridBagLayout nutzen...ich hab bisher alles was ich brauchte auch durch verschachtelte GridLayouts und BorderLayouts hinbekommen...ich werde das GridBag nie raffen fürchte ich :lol:
 

Lim_Dul

Top Contributor
Der Vorteil des GridBagLayouts ist, dass man deutlich weniger verschachteln muss, als wenn man andere Layouts verwendet.

Ich hab auch lange Zeit gebraucht, bis ich mich mal durchgerungen haben, das GridBagLayout zu nutzen :)
 

unknown_member

Bekanntes Mitglied
Ich finde das GridLayout in vielen Fällen praktischer, denn ein senkrechtes Menü zu erstellen geht immer noch mit dem GridLayout am besten.
 

Marco13

Top Contributor
Da gibt's so ein (imho sehr traffendes) Flash zum GridBagLayout
http://madbean.com/anim/totallygridbag

Ich finde jedenfalls, das sowas hier
Code:
JButton button;
pane.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
button = new JButton("5");
c.ipady = 0;       //reset to default
c.weighty = 1.0;   //request any extra vertical space
c.anchor = GridBagConstraints.PAGE_END; //bottom of space
c.insets = new Insets(10,0,0,0);  //top padding
c.gridx = 1;       //aligned with button 2
c.gridwidth = 2;   //2 columns wide
c.gridy = 2;       //third row
pane.add(button, c);
wirklich Quäl-Kot erster Güte ist. Dann lieber ein bißchen schachteln .... :roll:
 
G

Gast

Gast
Vielen Dank!!!

Das Beispiel von Wiesel ist genau das was ich suche! Hab auch an GridBad gedacht, da ich aber damit ich immer wieder meine Schwieigkeiten hab :) hab ich gedacht es gibt vielleicht eine andere Möglichkeit. Aber jetzt passts ja!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Layout Manager, welcher ist der Richtige für mein Program? Java Basics - Anfänger-Themen 1
J neues Object (JLabel) vorab zum Layout hinzufügen , Location setzen, etc? Java Basics - Anfänger-Themen 2
S setContentView(R.Layout.XXX) wird Rot angezeigt Java Basics - Anfänger-Themen 0
C Erste Schritte Layout an Bildschirmauflösung anpassen Java Basics - Anfänger-Themen 9
N Project layout eclipse ( seperate ordner für klassen ? ) Java Basics - Anfänger-Themen 1
C Der Swing Layout-Manager hasst mich Java Basics - Anfänger-Themen 4
N Erste Schritte JOptionPane - zerstörtes Layout Java Basics - Anfänger-Themen 2
R Card Layout refresh nach Änderung Java Basics - Anfänger-Themen 1
P welche Komponente ist im Layout? Java Basics - Anfänger-Themen 2
F Welchen Layout Manager wählen? Java Basics - Anfänger-Themen 13
Q Layout Manager Java Basics - Anfänger-Themen 6
llabusch Layout neu zeichnen lassen Java Basics - Anfänger-Themen 2
llabusch Interface Layout eines Labels während der Laufzeit ändern Java Basics - Anfänger-Themen 0
T Layout Java Basics - Anfänger-Themen 9
L Anderes Layout für JOptionPane? Java Basics - Anfänger-Themen 6
N Datum abgleichen und Frage zum Layout Java Basics - Anfänger-Themen 3
S Layout mit JPanel in JScrollPanel funktioniert nicht Java Basics - Anfänger-Themen 3
M Text linksbündig im Box'ed Layout Java Basics - Anfänger-Themen 4
M Interface Das Null-Layout Java Basics - Anfänger-Themen 12
P GUI - Layout per Laufzeit erstellen/verändern? Java Basics - Anfänger-Themen 6
B Daten eingeben und ausgeben mit einem Layout Java Basics - Anfänger-Themen 17
L Erste Schritte Layout eines Java Programms Java Basics - Anfänger-Themen 5
P Layout Manager - Welches Layout für Memory? Java Basics - Anfänger-Themen 7
F welches Layout für JButton-Liste verwenden Java Basics - Anfänger-Themen 6
JAVAnnik layout erstellen Java Basics - Anfänger-Themen 24
R Welcher Layout Manager-für so ein Fenster? Java Basics - Anfänger-Themen 5
J Unterschiedliche Spaltengröße im Grid(bag)layout Java Basics - Anfänger-Themen 6
M Layout einfach bilden Java Basics - Anfänger-Themen 4
F Card Layout Java Basics - Anfänger-Themen 8
S JButton trotz Box-Layout skalieren Java Basics - Anfänger-Themen 6
L Layout Frage Java Basics - Anfänger-Themen 2
N GUI-Layout-Problem&Anordnung Java Basics - Anfänger-Themen 14
M Frage zu GUI-Layout Java Basics - Anfänger-Themen 4
N Welches Layout soll ich verwenden? Java Basics - Anfänger-Themen 3
W Unterschied JFrame und JLabel bezüglich Layout? Java Basics - Anfänger-Themen 2
N Layout Probleme Java Basics - Anfänger-Themen 2
J Layout bei Swing Java Basics - Anfänger-Themen 4
W Grid Layout wird falsch dargestellt Java Basics - Anfänger-Themen 4
S Layout JDialog Java Basics - Anfänger-Themen 9
T Border Layout alle mittleren felder gleich groß Java Basics - Anfänger-Themen 3
D Der richtige Layout Manager Java Basics - Anfänger-Themen 8
T Eine doofe Frage zum null-Layout-Manager Java Basics - Anfänger-Themen 6
M Layout Probleme Java Basics - Anfänger-Themen 10
T Layout Problem Java Basics - Anfänger-Themen 2
B Frage zum Layout Java Basics - Anfänger-Themen 6
M zufällige auswahl eines Panels aus Grid Layout Java Basics - Anfänger-Themen 3
K Layout Java Basics - Anfänger-Themen 6
J Layout Java Basics - Anfänger-Themen 8
B package org.jdesktop.layout does not exist Java Basics - Anfänger-Themen 8
A center in einer border layout Java Basics - Anfänger-Themen 8
E Layout für Prozentaufteilung Java Basics - Anfänger-Themen 3
kulturfenster Tic Tac Toe Layout-Sorgen Java Basics - Anfänger-Themen 25
A Problem mit BorderLayout und null-Layout Java Basics - Anfänger-Themen 5
N Bildbeispiel von Layout: wie nutze ich das GBLayout dafür? Java Basics - Anfänger-Themen 17
mwildam JToolBar und Group-Layout (NetBeans) dockt nicht richtig an Java Basics - Anfänger-Themen 3
Q Classe durch Buttonklick im Layout öffnen Java Basics - Anfänger-Themen 4
A frames layout Java Basics - Anfänger-Themen 4
G Bilder im Grid-Bag-Layout Java Basics - Anfänger-Themen 2
H Layout wird nicht eingehalten . Java Basics - Anfänger-Themen 3
G Welcher Layout-Manager? *confused* Java Basics - Anfänger-Themen 2
D Layout beim Applet Java Basics - Anfänger-Themen 6
G Layout Java Basics - Anfänger-Themen 3
U Welches Layout? Java Basics - Anfänger-Themen 6
I Layout anpassen Java Basics - Anfänger-Themen 4
L Layout Problem Java Basics - Anfänger-Themen 2
J Tabelle erneuert bei Card Layout nicht Java Basics - Anfänger-Themen 2
S Layout Probleme (Kein Adden möglich) Java Basics - Anfänger-Themen 18
M ScrollPane Flow Layout Java Basics - Anfänger-Themen 4
P Null Layout Java Basics - Anfänger-Themen 17
R JPanel und Layout Java Basics - Anfänger-Themen 4
Bierhumpen Swing und Layout Java Basics - Anfänger-Themen 18
M JButton im JLabel Layout Java Basics - Anfänger-Themen 12
Z JButton vs Layout Java Basics - Anfänger-Themen 8
E Scrollbar mit NULL- Layout? Java Basics - Anfänger-Themen 4
L Swing - Layout-Problem Java Basics - Anfänger-Themen 12
B Null-Layout oder GridLayout usw. Java Basics - Anfänger-Themen 5
L Layout Java Basics - Anfänger-Themen 5
DEvent anfängerfrage: wieso layout erst beim verändern? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben