LayoutManager Hilfe bei Wahl des Layouts

jBen

Mitglied
Hallo,

habe folgendes Layout erdacht (siehe Bild). Es soll aus 3 TextFeldern und einer TextArea und einem Button bestehen und ca. so aussehen wie auf dem Bild. Leider komme ich mit BorderLayout nicht zu glücklichen Ergebnissen. Mir würde es auch reichen, wenn der Button unter dem unteren Textfeld wäre und sogesehen die gleiche Größe hätte, aber das klappt nicht.

Wer hat ne leichte und umkomplizierte Lösung parat?

Vielen Dank schon einmal für Hilfe :)
 

Anhänge

  • layout.png
    layout.png
    3,7 KB · Aufrufe: 35

Flown

Administrator
Mitarbeiter
[EDIT]Zu schnell und nicht aufs Bild gewartet Moment:[/EDIT]

Also als Container ein JPanel mit einem BorderLayout.
In die erste Reihe ein JPanel mit den 2 TextField und einfachen FlowLayout. BorderLayout.NORTH
In die zweite Reihe einfach die JTextArea. BorderLayout.CENTER
In die dritte ebenfalls ein JPanel mit FlowLayout indem du das JTextField und den JButton wirfst. BorderLayout.SOUTH

et voilà
 
Zuletzt bearbeitet:

Fab1

Top Contributor
Hoffe mein Lösungsvorschlag entspricht deinen Vorstellungen :)

attachment.php


Man könnte nun ja sagen ich hätte das von Flown abgeschaut aber ...

hab ich nicht.
 

Anhänge

  • asdf.png
    asdf.png
    12,8 KB · Aufrufe: 57

Michael...

Top Contributor
Lösung: Komponenten mit verschiedenen Layouts verschachteln
Als "Über"Layout bietet sich ja BorderLayout an sind die zwei Komponenten oben gleich groß? => ein JPanel mit GridLayout die Komponenten da rein und das JPanel in den NORTH Bereich des BorderLayouts.
Unten (SOUTH) ein JPanel mit BorderLayout, das Textfeld in den CENTER und den Button in den EAST Bereich.
Die Textarea in den CENTER des "Über"Layouts
 

jBen

Mitglied
Danke für die schnelle Antwort. Ich habe es so gemacht:

Java:
		mainPanel = new JPanel();
		panelNorth = new JPanel();
		panelSouth = new JPanel();
		
		sendText = new JTextField();
		txtHost = new JTextField();
		txtPort = new JTextField();
		
		recText = new JTextArea();
		button1 = new JButton("send");
		
		mainPanel.setLayout(new BorderLayout());
		panelNorth.setLayout(new FlowLayout());
		panelSouth.setLayout(new FlowLayout());
		
		frame.setContentPane(mainPanel);
		
		panelNorth.add(txtHost);
		panelNorth.add(txtPort);
		
		panelSouth.add(sendText);
		panelSouth.add(button1);
		
		mainPanel.add(recText, BorderLayout.CENTER);
		mainPanel.add(panelNorth, BorderLayout.NORTH);
		mainPanel.add(panelSouth, BorderLayout.SOUTH);

und raus kommt das hier (s. Anhang)

P.S.: Wäre deine Lösung so wie man es tatsächlich elegant löst? Würde mich jetzt als Anfänger interessieren, weil ich bald höchstwahrschienlich viele Swing Anwendugnen machen muss :D
 

Anhänge

  • screen.PNG
    screen.PNG
    6,6 KB · Aufrufe: 39

Fab1

Top Contributor
public JTextField(int columns)

Constructs a new empty TextField with the specified number of columns. A default model is created and the initial string is set to null.

Parameters:
columns - the number of columns to use to calculate the preferred width; if columns is set to zero, the preferred width will be whatever naturally results from the component implementation

Du kannst deinen Textfelder gleiche bei der Instantiierung eine Größe zuweisen. Dann würde die Sache anders aussehen.
 

jgh

Top Contributor
ich kann dir mal dieses ein wenig abgeänderte Bsp anbieten.
Grundsätzlich würde ich an deiner Stelle versuchen, nicht alles in eine Klasse zu packen => deine North, south und Center-Panels in eigene Klassen packen. Liegt natürlich daran, was für Komplexität dazu kommen soll.

Und was Default mässig eh eingestellt ist, würde ich pers. auch nicht hinschreiben, also bspw. beim JPanel .
Code:
setLayout(new FlowLayout());
, oder einem JFrame ein BorderLayout zuweisen...ist aber natürlich geschmackssache, genauso dieses "hässliche" [c]getContentPane.add...[/c] , naja...jeder so wie es ihm/ihr gefällt ;)

Java:
public static void main(String[] args) {
		JFrame f = new JFrame();
		f.setSize(500, 500);

		JPanel mainPanel = new JPanel();
		JPanel panelNorth = new JPanel();
		JPanel panelSouth = new JPanel();

		JTextField sendText = new JTextField();
		sendText.setPreferredSize(new Dimension(0, 40));

		JTextField txtHost = new JTextField();
		txtHost.setPreferredSize(new Dimension(0, 40));

		JTextField txtPort = new JTextField();
		JTextArea recText = new JTextArea();
		JButton button1 = new JButton("send");

		mainPanel.setLayout(new BorderLayout());

		GridLayout gl = new GridLayout();
		gl.setHgap(10);
		gl.setVgap(5);
		panelNorth.setLayout(gl);
		panelSouth.setLayout(new GridBagLayout());
		GridBagConstraints gbc = new GridBagConstraints();

		gbc.weightx = 1;
		gbc.gridx = 0;
		gbc.fill = GridBagConstraints.BOTH;
		panelSouth.add(sendText, gbc);

		gbc.weightx = 0;
		gbc.gridx = 1;
		panelSouth.add(button1, gbc);

		panelNorth.add(txtHost);
		panelNorth.add(txtPort);

		mainPanel.add(recText, BorderLayout.CENTER);
		mainPanel.add(panelNorth, BorderLayout.NORTH);
		mainPanel.add(panelSouth, BorderLayout.SOUTH);

		f.add(mainPanel);

		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setLocationRelativeTo(null);
		f.setVisible(true);
	}
 

Michael...

Top Contributor
Super das klappt!

Und wegen meiner Frage, ob dies nun die elegante Variante bzw. konforme ist?
Warum sollte sie nicht konform (zu was überhaupt) sein? Elegant darfst Du selbst entscheiden.
Java:
		JTextField[] field = new JTextField[] {new JTextField(), new JTextField(), new JTextField()};
		JTextArea area = new JTextArea();
		JButton button = new JButton("Send");
		
		JFrame frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(300, 300);
		JPanel panel = new JPanel(new GridLayout(1, 2, 10, 0));
		panel.add(field[0]);
		panel.add(field[1]);
		frame.add(panel, BorderLayout.NORTH);
		frame.add(area, BorderLayout.CENTER);
		panel = new JPanel(new BorderLayout(10, 0));
		panel.add(field[2], BorderLayout.CENTER);
		panel.add(button, BorderLayout.EAST);
		frame.add(panel, BorderLayout.SOUTH);
		frame.setVisible(true);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
JavaBeginner22 Button Hilfe AWT, Swing, JavaFX & SWT 0
ExceptionOfExpectation Textdarstellung auf einem Canvas mit Hilfe von repaint(); AWT, Swing, JavaFX & SWT 6
senol JOptionPane hilfe!!! :(((( AWT, Swing, JavaFX & SWT 32
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
J Swing Hilfe bei Layout AWT, Swing, JavaFX & SWT 2
Zrebna JavaFX-Projekt mit Bildern funktioniert nicht - um Hilfe wird gebeten AWT, Swing, JavaFX & SWT 14
F BorderLayout Hilfe bei Anzeige AWT, Swing, JavaFX & SWT 2
J Hilfe beim tablevies AWT, Swing, JavaFX & SWT 2
T Swing Hilfe - Selbst Informatik Lehrer konnte mir nicht weiter Helfen AWT, Swing, JavaFX & SWT 2
W Swing Hilfe beim Einbinden von Bildern in einem JFrame AWT, Swing, JavaFX & SWT 8
A Swing TicTacToe-Bitte um Hilfe AWT, Swing, JavaFX & SWT 32
T Bitte um Hilfe AWT, Swing, JavaFX & SWT 2
T Hilfe bei Code AWT, Swing, JavaFX & SWT 2
S Hilfe bei Java Gui Anfänger AWT, Swing, JavaFX & SWT 5
J Warum geht das nicht? if-else usw..... compilieren geht nicht -- HILFE!!! AWT, Swing, JavaFX & SWT 10
M Problem mit Layoutmanagern... Hilfe wäre sehr nett. AWT, Swing, JavaFX & SWT 2
T Hilfe was mus ich tun um das fertige JfxFenster zu sehen AWT, Swing, JavaFX & SWT 2
R Hilfe beim ändern des Hintergrundes eines JFrames AWT, Swing, JavaFX & SWT 9
A hilfe für flowlayout AWT, Swing, JavaFX & SWT 6
N Swing Benötige Hilfe um ein Swing Canvas zu speichern AWT, Swing, JavaFX & SWT 4
X Swing JButton's zum JScrollPane hinzufügen geht nicht. Bitte um Hilfe. AWT, Swing, JavaFX & SWT 9
C Gesucht: Hilfe beim programmieren. AWT, Swing, JavaFX & SWT 1
V Swing Brauche Hilfe mit Label AWT, Swing, JavaFX & SWT 3
C Hilfe beim programmieren mit studiumgebundenes Projekt AWT, Swing, JavaFX & SWT 1
T Swing JTable Zeile mit ausgelesenen Werten mit Hilfe von einem Button hinzufügen AWT, Swing, JavaFX & SWT 1
A JavaFX Hilfe beim Design eines Quiz AWT, Swing, JavaFX & SWT 2
H Swing Hilfe bei GUI AWT, Swing, JavaFX & SWT 4
T HILFE wie lösche ich gezeichnetes per tastendruck AWT, Swing, JavaFX & SWT 1
R Swing JOptionPane Fehlermeldung- bitte um Hilfe! AWT, Swing, JavaFX & SWT 4
Tausendsassa ImageIcon?! Hilfe! AWT, Swing, JavaFX & SWT 10
C Hilfe bei JSpinner und JList AWT, Swing, JavaFX & SWT 1
J GridBagLayout mit Hilfe einer For-Schleife befüllen AWT, Swing, JavaFX & SWT 1
M Hilfe bei Performanceverbesserung AWT, Swing, JavaFX & SWT 34
B Hilfe welches Layout brauch ich AWT, Swing, JavaFX & SWT 4
M SwingWorker Hilfe! AWT, Swing, JavaFX & SWT 10
K Swing Brauche Hilfe AWT, Swing, JavaFX & SWT 6
O AWT Performance und Bug behebung[brauche Hilfe] AWT, Swing, JavaFX & SWT 2
K Swing Konsolen Programm in GUI - Suche Hilfe bei Konsolenausgabe AWT, Swing, JavaFX & SWT 2
K Viele Textfield mit Hilfe eines MousListener leeren - möglich? AWT, Swing, JavaFX & SWT 8
I ausgewählte Zeile mit Hilfe der Tastatur löschen! AWT, Swing, JavaFX & SWT 3
Kenan89 Java FX GUI Hilfe für erste Java FX App AWT, Swing, JavaFX & SWT 8
B Rechteck Mit Hilfe Von Timeline, KeyFrames animieren AWT, Swing, JavaFX & SWT 3
F Hilfe beim ausschalten von Robot AWT, Swing, JavaFX & SWT 7
N Hilfe bei Memory-Spiel AWT, Swing, JavaFX & SWT 18
L Swing Hilfe bei JTabelModel gesucht AWT, Swing, JavaFX & SWT 4
B Hilfe zu JTable und JTabbedPane AWT, Swing, JavaFX & SWT 18
K Hilfe bei Labels AWT, Swing, JavaFX & SWT 3
S Hilfe beim Lernprozess von java3d AWT, Swing, JavaFX & SWT 20
T JLayeredPanel - Hilfe AWT, Swing, JavaFX & SWT 7
C Swing Hilfe bei umsetzung eines Stundenplans. AWT, Swing, JavaFX & SWT 7
K Swing Hilfe beim JTree! AWT, Swing, JavaFX & SWT 3
N Hilfe bei Panels! AWT, Swing, JavaFX & SWT 11
F Swing Syntaxhighlighting Hilfe AWT, Swing, JavaFX & SWT 5
Jats Bitte um Hilfe bei JComboBox mit Array AWT, Swing, JavaFX & SWT 6
Jats Hilfe bei FocusListener für Taschenrechner AWT, Swing, JavaFX & SWT 4
N Swing nach Fensterrand Action ausführen? HILFE AWT, Swing, JavaFX & SWT 7
R Hilfe bei Bachelorrabeit. Seitenvorschau AWT, Swing, JavaFX & SWT 7
L Mein Kopf dreht sich... Brauche Hilfe beim GUI gestalten AWT, Swing, JavaFX & SWT 10
G Swing Hilfe-Fenster erstellen AWT, Swing, JavaFX & SWT 20
E LayoutManager Hilfe ein GridbagLayout!! AWT, Swing, JavaFX & SWT 7
K GUI-Hilfe für Anfänger AWT, Swing, JavaFX & SWT 15
J Schulprojekt und braucht hilfe AWT, Swing, JavaFX & SWT 54
G Hilfe! Command Pattern an easy ImageViewer? AWT, Swing, JavaFX & SWT 13
radiac Hilfe bei GUI AWT, Swing, JavaFX & SWT 22
N Hilfe bei erstellen eines Bibliotheksprogrammes AWT, Swing, JavaFX & SWT 15
H Swing Jtable wird nicht angezeigt..hilfe!! AWT, Swing, JavaFX & SWT 16
M DRINGEND HILFE TextPane RECHTSBÜNDIG AWT, Swing, JavaFX & SWT 2
B Swing Hilfe zu JTextField AWT, Swing, JavaFX & SWT 2
J Brauche ganz dringend Hilfe!!! AWT, Swing, JavaFX & SWT 5
V Bitte um Hilfe bei nem Taschenrechner AWT, Swing, JavaFX & SWT 8
F NullPointerException - HILFE!! AWT, Swing, JavaFX & SWT 20
G Hilfe!!!Sudoku AWT, Swing, JavaFX & SWT 19
M Swing JButton hilfe AWT, Swing, JavaFX & SWT 3
M brauche Hilfe um Einträge aus Jlist zu löschen AWT, Swing, JavaFX & SWT 4
Spin Hilfe - Erklärungsbedarf für Kreis AWT, Swing, JavaFX & SWT 5
O Bitte um Hilfe bei ComboBox in TableHeader AWT, Swing, JavaFX & SWT 9
M Erstellen eines Hilfe-Fenster bzw"Erste-Schritte" AWT, Swing, JavaFX & SWT 2
G Hilfe beim Erstellen eines eigenen Html-Editors! AWT, Swing, JavaFX & SWT 4
G Hilfe Meine JPanels verschwinden im Müll AWT, Swing, JavaFX & SWT 10
G Hilfe AWT, Swing, JavaFX & SWT 8
N ausrichtung Button - hilfe bitte AWT, Swing, JavaFX & SWT 2
T Hilfe zu Events? AWT, Swing, JavaFX & SWT 6
A Ini Datei Auswerten - HILFE! AWT, Swing, JavaFX & SWT 6
D Hilfe bei GUI-Elementen in Java AWT, Swing, JavaFX & SWT 9
D Grafikeinsteiger sucht/braucht Hilfe. Wäre Nett ! AWT, Swing, JavaFX & SWT 3
K Mein Informatikprojekt läuft aus dem Ruder Hilfe. F1 ^^ AWT, Swing, JavaFX & SWT 5
S Hilfe! Bekomme Daten nicht ausgelesen AWT, Swing, JavaFX & SWT 3
M hilfe! probleme mit meinem programm AWT, Swing, JavaFX & SWT 5
V Hilfe :( bekomme textarea nicht versetzt AWT, Swing, JavaFX & SWT 2
M Hilfe ich komme nicht an ein JTextArea AWT, Swing, JavaFX & SWT 4
J Hilfe CardLayout AWT, Swing, JavaFX & SWT 3
C Hilfe bei JInternalFrame AWT, Swing, JavaFX & SWT 6
G BubbleSort mit Hilfe einer Balkengrafik visualisieren AWT, Swing, JavaFX & SWT 9
G Leider trotz allem kein Icon :( Brauche Hilfe AWT, Swing, JavaFX & SWT 3
S sinuskurve hilfe! AWT, Swing, JavaFX & SWT 2
D JSplittPane - unsichtbarer Rahmen? hilfe ;) AWT, Swing, JavaFX & SWT 2
G Selbstprogrammierter Editor - brauche Hilfe AWT, Swing, JavaFX & SWT 5
J Hilfe bei EventListening AWT, Swing, JavaFX & SWT 3
M Hilfe bei vers. Fonts und Zeilenlänge in eigenem Editor. AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben