LayoutManager Problem mit setLayout(LayoutManager)

R

Radeon

Gast
Wie im Titel zu lesen habe ich meine Probleme mit dem LayoutManager. Was früher anstandslos funktionierte bringt mich jetzt um den letzten Nerv.
Vorweg: Ich nutze Eclipse.
Ich möchte für meine Präsentationsprüfung nächste Woche mitunter das FlowLayout, BorderLayout und GridLayout vorstellen und dazu ansichtlich drei GUIs programmieren anhand deren man den Unterschied ziemlich schnell und gut erkennt. Alles kein großes Problem der Code für alle drei Klassen steht im Prinzip und MÜSSTE so funktionieren - selbst direkt kopiertes aus "Java ist auch eine Insel" wird nicht gefressen.
Java:
package präsentationsprüfung;

import java.awt.*;
import javax.swing.*;


public class BorderLayout extends JFrame{

	private static final long serialVersionUID = 1L;

		public static void main(String[] args)
	{
		JFrame f = new JFrame();
		f.setTitle("BorderLayout");
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setLayout(new BorderLayout());
		f.setSize(400,400);
		f.setLocationRelativeTo(null);
		
		JButton b1 = new JButton("1");
		f.add("North", b1);
		JButton b2 = new JButton("2");
		f.add("East", b2);
		JButton b3 = new JButton("3");
		f.add("South", b3);
		JButton b4 = new JButton("4");
		f.add("West", b4);
		JButton b5 = new JButton("5");
		f.add("Center", b5);
		
		f.setVisible(true);
	}

}
Und zwar meckert Eclipse bei setLayout rum mit folgendener Fehlermeldung:
The method setLayout(LayoutManager) in the type JFrame is not applicable for the arguments (BorderLayout)
Während im Package Explorer neben meinem "Präsentationsprüfung"-Projekt auch noch mein altes "Schach"-Projekt ist funktionierte die GUI vom Schachprogramm mitsamt eines BorderLayouts bis zuletzt ohne Probleme, bis nun auch dort die Fehlermeldung für die setLayout() Methode auftaucht.
Ich bin vollkommen überfragt was Eclipse da für Fakten macht und hoffe einer von euch hat eine passende Lösung!
Herzlichen Dank schonmal!
 
C

Camino

Gast
Also, eigentlich ist die Methode
Code:
f.setLayout(new BorderLayout());
auch richtig so, aber mir sind noch zwei Sachen aufgefallen:
Es ist vielleicht nicht wirklich gut, wenn du deine Klasse auch noch BorderLayout nennst... (einfach mal umbenennen)
Und die Komponenten solltest du so dem BorderLayout zuweisen:
Java:
add(Komponente, BorderLayout.NORTH);
und nicht so:
Java:
f.add("North", b1);
 
R

Radeon

Gast
Also, eigentlich ist die Methode
Code:
f.setLayout(new BorderLayout());
auch richtig so, aber mir sind noch zwei Sachen aufgefallen:
Es ist vielleicht nicht wirklich gut, wenn du deine Klasse auch noch BorderLayout nennst... (einfach mal umbenennen)
Und die Komponenten solltest du so dem BorderLayout zuweisen:
Java:
add(Komponente, BorderLayout.NORTH);
und nicht so:
Java:
f.add("North", b1);

Danke schonmal für deine rasche Antwort!:)
Okay, habe den add() Aufruf angepasst, hat sich damit allerdings nicht gebessert. In der damaligen SchachbrettGUI Klasse hat es nach vorangegangen Muster bis dato auch so funktioniert.
Auch das Umbenennen brachte keinerlei Änderung, auch hier der Wink in richtung der SchachbrettGUI in der die Klasse ja keinen Layoutnamen hatte.

Also ich persönlich denke ja eher das es an Eclipse liegt und weniger am Code.
Jetzt ist nur noch die Frage wie sich die Geschichte beheben lässt.
 
C

Camino

Gast
Hast du das jetzt umbenannt:
Java:
public class BorderLayout extends JFrame
Also die Klasse nicht BorderLayout nennen, weil es sonst natürlich Probleme mit der anderen Klasse BorderLAyout (dem LayoutManager) gibt, den du benutzen möchtest.
Wenn du dann die add-Methoden auch noch angepasst hast, müsste es eigentlich klappen. Dürfte auch nicht an Eclipse liegen. Vielleicht postest du ja nochmal deinen neuen Code und evtl. Fehlermeldungen, damit man schauen kann, woran es jetzt liegt.
 

eRaaaa

Top Contributor
Oder [c]f.setLayout(new java.awt.BorderLayout());[/c] :D

Btw: Zu dem
Und die Komponenten solltest du so dem BorderLayout zuweisen .. und nicht so ...
Das ist eig. egal (von der Funktionalität her!) Es geht beides, gibt sogar noch andere Varianten (z.B. deine nur umgedreht die Parameter)

Allerdings ist das so mit den direkten Strings fehleranfälliger, laufen sollte das aber dennoch!

/edit: also dein Code läuft bei mir wenn ich die Klasse umbenenne oder eben den Packagenamen vorsetze!
 
Zuletzt bearbeitet:
C

Camino

Gast
Das ist eig. egal (von der Funktionalität her!) Es geht beides, gibt sogar noch andere Varianten (z.B. deine nur umgedreht die Parameter)

Allerdings ist das so mit den direkten Strings fehleranfälliger, laufen sollte das aber dennoch!
OK, das mit den umgedrehten Parametern wusste ich, aber das auch der String "North" funktioniert, war mir neu. Vergess ich aber lieber schnell wieder...
Ich würde aber trotzdem dazu raten, der Klasse einen anderen Namen zu geben.
 
R

Radeon

Gast
Fehlalarm!;)
Also es lag wohl an der BorderLayout Klasse am Klassennamen. Hatte den Vorhin zwar mit Eclipse umnennen lassen, dabei hat es mir aber auch die setLayout() Methode zu setLayout(newBorderLayoutDemo()); zerschossen da ich die Klasse in BorderLayoutDemo umbenannt habe und Eclipse eigenständig alles ersetzt hat.

Trotzdem verstehe ich jetzt nicht weshalb die SchachbrettGUI Klasse weiterhin den selben Fehler anzeigt, die hatte schließlich nie eine Klassen/LayoutManater-Namen-Dopplung.

Tante Edith: Ich glaube ich kenne des Rätsels Lösung!
Wie ich gerade auch in der SchachbrettGUI Klasse festellen musste wurde auch dort das Layout in BorderLayoutDemo geändert. Somit schlussfolgere ich das mit dem erstellen der BorderLayout Klasse sozusagen der LayoutManager import überschrieben wurde und somit statt auf den LayoutManager auf die von mir erstelle Klasse zugegriffen wurde.

Lange Rede kurzer Sinn:
Niemals die Klasse nach einem LayoutManager (oder Analog anderen Klassenimporten[?]) benennen.

Herzlichen Dank euch beiden für die schnelle Hilfe!:)
 
Zuletzt bearbeitet von einem Moderator:

L-ectron-X

Gesperrter Benutzer
Was hier, glaube ich, auch noch nicht zur Sprache kam: es macht keinen Sinn und ist dann auch eine Fehlerquelle, die leicht übersehen wird, dass du in deinem Code von JFrame erbst, dann aber eine weitere Instanz eines JFrames erzeugst und mit dieser dann arbeitest.
Also: bitte immer nur eins von beidem.
 
R

Radeon

Gast
Was hier glaube ich auch noch nicht zur Sprache kam: es macht keinen Sinn und ist dann auch eine Fehlerquelle, die leicht übersehen wird, ist, dass in deinem Code von JFrame erbst, dann aber eine weitere Instanz eines JFrames erzeugst und mit dieser dann arbeitest.
Also: bitte immer nur eins von beidem.
Tatsache, das ist noch ne Leiche von Copy&Paste gehabe...Dankeschön!:)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
H 2D-Grafik Problem mit Paint AWT, Swing, JavaFX & SWT 1
S Layout - Problem AWT, Swing, JavaFX & SWT 1
Tassos JavaFX/Problem mit der Maussteuerung in Stackpane AWT, Swing, JavaFX & SWT 7
sserio Java Fx - Problem AWT, Swing, JavaFX & SWT 3
A Problem Spiel auf Panel der GUI zu bringen AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
TheWhiteShadow JavaFX ListView Problem beim Entfernen von Elementen AWT, Swing, JavaFX & SWT 1
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
Umb3rus JavaFX Problem mit PropertyValueFactory: can not read from unreadable property AWT, Swing, JavaFX & SWT 1
T Problem mit paintComponent() AWT, Swing, JavaFX & SWT 17
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
G Instance OF Problem AWT, Swing, JavaFX & SWT 9
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
Badebay Problem mit JButton AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
J JavaFX Löschen im Tabelview macht Problem AWT, Swing, JavaFX & SWT 15
JavaTalksToMe JavaFx ExekutorService Problem AWT, Swing, JavaFX & SWT 2
Zrebna Problem bei Eventhandling (Value soll nach jedem erneutem Klick gelöscht werden) AWT, Swing, JavaFX & SWT 4
B Problem mit JavaFX AWT, Swing, JavaFX & SWT 5
J css Problem AWT, Swing, JavaFX & SWT 5
B JavaFX habe mein Problem fett markiert AWT, Swing, JavaFX & SWT 2
A Swing Filter-Problem AWT, Swing, JavaFX & SWT 1
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
L Java FX Problem mit Ubuntu 18 und JavaFx AWT, Swing, JavaFX & SWT 27
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
kodela Swing Problem mit Warten-Dialog AWT, Swing, JavaFX & SWT 16
B JavaFx Scene Builder Problem AWT, Swing, JavaFX & SWT 2
B [Problem] Java öffnet Word-Datein nicht AWT, Swing, JavaFX & SWT 14
T DataBinding Problem AWT, Swing, JavaFX & SWT 5
Blender3D Problem mit € Symbol Font Gotham Windows 10 Swing AWT, Swing, JavaFX & SWT 11
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 15
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 0
D Swing SwingUtils / Thread Problem AWT, Swing, JavaFX & SWT 3
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
T Swing Problem mit Datum und FormattedTextField AWT, Swing, JavaFX & SWT 2
S AWT Java print dialog Problem AWT, Swing, JavaFX & SWT 0
olfibits JavaFX Problem mit HTMLEditor AWT, Swing, JavaFX & SWT 0
W SWT hover-background-problem with first column in TreeViewer AWT, Swing, JavaFX & SWT 0
M Problem mit Add JScrollPane AWT, Swing, JavaFX & SWT 25
Mario1409 Swing JTextArea scroll Problem AWT, Swing, JavaFX & SWT 0
N Swing Problem mit loop AWT, Swing, JavaFX & SWT 2
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5
S Swing & Clean und build Problem AWT, Swing, JavaFX & SWT 12
S JLabel setText() Problem AWT, Swing, JavaFX & SWT 6
I 2D-Grafik Problem beim Ändern der Farbe eine 2d Objekts AWT, Swing, JavaFX & SWT 3
G Swing Splitpane Problem AWT, Swing, JavaFX & SWT 1
F Problem mit der FXML Rectangle Shape AWT, Swing, JavaFX & SWT 2
N JavaFX Stranges Problem mit der Autoscroll-Eigenschaft von Textareas AWT, Swing, JavaFX & SWT 0
E Java FX FXML Problem mit html Scriptausführung AWT, Swing, JavaFX & SWT 2
J JavaFX Intersect Problem mit Shapes AWT, Swing, JavaFX & SWT 10
R JavaFX MediaPlayer AVI-Problem AWT, Swing, JavaFX & SWT 1
M Swing Problem mit ListCellRenderer AWT, Swing, JavaFX & SWT 7
D Problem mit JTable AWT, Swing, JavaFX & SWT 1
F GUI Auflösung ändern - Koordianten und Proportions Problem AWT, Swing, JavaFX & SWT 21
J Problem mit Button darstellung AWT, Swing, JavaFX & SWT 23
M Problem mit Layoutmanagern... Hilfe wäre sehr nett. AWT, Swing, JavaFX & SWT 2
S 2D-Grafik Problem mit Variablen AWT, Swing, JavaFX & SWT 4
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
M Swing AttributiveCellTableModel addRow() Problem AWT, Swing, JavaFX & SWT 1
J Swing Problem mit Graphics Methode AWT, Swing, JavaFX & SWT 4
N JavaFX Problem mit table multiple selection AWT, Swing, JavaFX & SWT 5
K CheckBox Problem AWT, Swing, JavaFX & SWT 5
Grevak DisplayMode Problem seit Windows 10 AWT, Swing, JavaFX & SWT 2
S Swing Eigene JComboBox Problem! AWT, Swing, JavaFX & SWT 1
B Swing Problem mit Bildpfad AWT, Swing, JavaFX & SWT 4
N Swing Problem beim Scrollen mit JScrollPane AWT, Swing, JavaFX & SWT 6
V Graphics g - drawOval problem mit background AWT, Swing, JavaFX & SWT 1
C AWT Problem mit Protokol Fenster AWT, Swing, JavaFX & SWT 0
M Swing pack() Problem mit Taskleiste AWT, Swing, JavaFX & SWT 4
N Swing Choice- Problem! AWT, Swing, JavaFX & SWT 8
Q "AWT-EventQueue-0" Exception Problem AWT, Swing, JavaFX & SWT 4
D jButton Problem, ein Rieser Button bedeckt das ganze frame AWT, Swing, JavaFX & SWT 1
A Problem: repaint() - Schleife AWT, Swing, JavaFX & SWT 3
J Anfänger GUI Problem bei der Ausführung eines sehr einfachen Programms AWT, Swing, JavaFX & SWT 2
P AWT Problem mit Platzierung (GridBagLayout) AWT, Swing, JavaFX & SWT 2
N Swing JTree Problem beim erstellen der Knoten AWT, Swing, JavaFX & SWT 0
N Swing CardLayout: Problem beim Wechsel zwischen den JPanels AWT, Swing, JavaFX & SWT 3
A Mini-Menu-Schriften. Ein Problem bei hohen DPI Zahlen AWT, Swing, JavaFX & SWT 2
Z Canvas in Frame einfügen. Problem mit 4-Gewinnt AWT, Swing, JavaFX & SWT 1
C Thread-/ Simulations- Problem AWT, Swing, JavaFX & SWT 18
G Swing Setvisible problem AWT, Swing, JavaFX & SWT 1
J JTabbedPane: close Button Problem AWT, Swing, JavaFX & SWT 2
Tom299 JavaFX -> fxmlLoader -> getResourceAsStream Problem AWT, Swing, JavaFX & SWT 1
T Problem: ComboBox und addItem AWT, Swing, JavaFX & SWT 5
M JTextArea wird nicht aktualisiert (ActionListener-Problem) AWT, Swing, JavaFX & SWT 1
T LayoutManager LookAndFeel-Problem AWT, Swing, JavaFX & SWT 4
F Problem mit Implementierung von Kollisionsabfrage AWT, Swing, JavaFX & SWT 5
vodkaz (javafx) Image Problem AWT, Swing, JavaFX & SWT 2
T Problem beim Zeichnen von Rechteck AWT, Swing, JavaFX & SWT 3
B JavaFX Problem bei Kamera / Group, gesamte Scene bewegt sich mit AWT, Swing, JavaFX & SWT 0
L Swing Vier Gewinnt Problem AWT, Swing, JavaFX & SWT 2
Z GUI-Problem, finde meinen Fehler nicht! AWT, Swing, JavaFX & SWT 11
B JavaFX KeyEvent und Canvas draw Problem AWT, Swing, JavaFX & SWT 9
R Swing Problem: IOException bei ActionListener AWT, Swing, JavaFX & SWT 1
GianaSisters JFrame mit JInternalFrames, Keylistener-Problem AWT, Swing, JavaFX & SWT 9
Q JList Update Problem AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben