GUI - Größe nicht änderbar

kizu

Mitglied
Hallo,
Ich habe hier ein Fenster mit einem Ausgabetextfeld für Chatzeilen. daneben soll eine Userliste erscheinen. nur ist mein Problem, dass die Userliste kleiner sein soll., als das ausgabefenster, nur egal was ich versuche, weder das Fenster, noch die einzelnen Bereiche ihre Größe verändern.

kann mir jemand helfen?

Java:
	  public Chat( String fensterTitel )
	  {
	    //super( fensterTitel );
	    hinweis = new Label( "Text eingeben und mit Return abschliessen" );
	    eingabe = new TextField();
	    ausgabe = new TextArea();
	    userliste = new TextArea();
	    ausgabe.setPreferredSize(new Dimension(500, 500));  //hier ein versuch        
	    //Panels erzeugen
        JPanel panelButton = new JPanel(new GridLayout(1,2));
        panelButton.setPreferredSize(new Dimension(500, 500)); //hier ein versuch
	    
	    //add( BorderLayout.EAST,  userliste );
	    add( eingabe,  BorderLayout.SOUTH);
	    add( hinweis, BorderLayout.NORTH);
	    add( panelButton , BorderLayout.CENTER);
	    
	    panelButton.add(ausgabe);
	    panelButton.add(userliste);
	    //panelButton.
	    
	    eingabe.addActionListener(
	      new ActionListener() {
	        public void actionPerformed( ActionEvent ev ) {
	          sendText(); } } );
	    addWindowListener(
	      new WindowAdapter() {
	        public void windowClosing( WindowEvent ev ) {
	        	getWebsite(website + "chat.php?mode=logout");
	        	dispose();
	        	System.exit( 0 ); } } );
	    ausgabe.setEditable(false);
	    userliste.setEditable(false);
	    userliste.setSize(100, 100);                              //hier ein versuch
	    this.setPreferredSize(new Dimension(500, 500)); //hier ein versuch
	    //ausgabe.
	    login();
	  }
 

Blakh

Bekanntes Mitglied
Probier mal validate() . Ansonsten verwendet man normalerweise einen Layoutmanager. Sagt dir das was?


Edit: Sehe, dass du BorderLayout und GridbagLayout irgendwie mixt/verwendest. Sieht für mich allerdings komisch aus.
 
Zuletzt bearbeitet:

Mofi

Bekanntes Mitglied
Also ich benutz meist für sowas alle 4 Methoden um die Größe zu setzen
Bsp:
Java:
Dimension d = new Dimension(500,500);
JPanel panel = new JPanel();
panel.setSize(d);
panel.setMinimumSize(d);
panel.setMaximumSize(d);
panel.setPreferredSize(d);

im Normalfall klappt das ganz gut. Aus irgendwelchen Gründen funktioniert setSize() und/oder setPreferredSize() alleine manchmal einfach nicht.
 

Mofi

Bekanntes Mitglied
Hallo,

schau dir mal folgenden Link an: Lesson: Laying Out Components Within a Container (The Java™ Tutorials > Creating a GUI With JFC/Swing)

Da werden die verschiedenen Layoutmanager vorgestellt und erklärt, wie diese zu handhaben sind.

MfG
hansmueller

Stimmt an die "netten" LayoutManager hab ich nicht mehr gedacht. Die zerstückeln gerne mal das was man sich ausgedacht hat.
Deswegen verschachtel ich immer verschiedene Panels um dem aus dem Weg zu gehen :D

Um es kurz zu sagen, bei BorderLayout und GridLayout wie du Sie verwendest, kannst du noch so oft eine Größe angeben .- es wird nicht viel bringen, da diese beiden Layouts die Komponenten so oder so noch nachträglich in der Größe ändern und anpassen. Lies dir den Link von hansmueller an. Da sollte es ganz gut beschrieben stehen. Ich mag die Tutorials von der Seite :) Allerdings sollte man recht gut englisch verstehen.
 
Also deinen Code habe ich nicht gelesen, aber ich glaube du willst einfach wissen wie du eine GUI designst.
Dabei sollte man einen LayoutManager verwenden damit die alles flexibel veränderbar ist (hast du gemacht). Beim BorderLayout ordnet sich alles an den Rändern und in der mitte des Frames an.
Die Größen werden einfach so gesetzt wie es die Objekte wollen ( da ist meines wissens auch nciht viel zu machen). Ich empfehle dir das GridLayout. Dabei kannst du einfach dein Frame in ein Koordinatensystem einteilen und auch Verhältnisse angeben.

Java:
JFrame frame = new JFrame("GBL");
frame.setLayout(new GridBagLayout());

GridBagConstrains labelGBC = new GridBagConstrains();
labelGBC.x = 0;
labelGBC.y = 0;
labelGBC.width = 1;
labelGBC.height = 1;

JLabel l = new JLabel("Label1");
frame.add(l, labelGBC);

GridBagConstrains label2GBC = new GridBagConstrains();
label2GBC.x = 1;
label2GBC.y = 0;
label2GBC.width = 2;
label2GBC.height = 1;
JLabel l2 = new JLabel("Label2")
frame.add(l2, label2GBC);

Code ist nicht getestet! Aber das sollte funken:)
 

kizu

Mitglied
Danke erstmal für die vielen Antworten.

@Blakh: Ich habe in der Schule, als wir mit Python gearbeitet haben es so gelernt, dass man verschiedene Layouts ineinander verschachtelt. Dachte das wäre normal.

Layoutmanager, also WYSIWYG-Editoren? naja. da habe ich beim Webdesign schon genügend schlechte Ehrfarungen gemacht. Wäre eine Notlösung.

@Mofi und hansmueller: Hab ich mir mal angesehen. Hab aber bei den beiden Layoutmanagern, also Border-Layout und Grid-Bag-Layout, nichts gefunden was auf die Größe hinweist, außer ich möchte irgendwie verschachteln. Das wird da ja erklärt. Aber zur reinen Breiten und Höhenangaben finde ich da nichts. Muss ich das jetzt komplett neu und anders angehen?

@JuniorInformat.: Nein. Wie ich eine grundlegend GUI designe weiß ich bereits. Und dein Code würde mir dabei auch nicht helfen ;)
GridBagConstrains hab ich übrigends auch schon ausprobiert.
 

hansmueller

Bekanntes Mitglied
kizu hat gesagt.:
nur ist mein Problem, dass die Userliste kleiner sein soll., als das ausgabefenster, nur egal was ich versuche, weder das Fenster, noch die einzelnen Bereiche ihre Größe verändern.

Ich habe mal einen kurzen Blick auf deinen Code geworfen. "ausgabe" und "userlist" fügst du in ein "panelButton" ein, welches eine GridLayout hat. Dieses "panelButton" wird dann vermutlich in ein Frame mit einem BorderLayout im Center eingefügt.

Das GridLayout gibt jeder seiner Zellen die gleiche Größe. Es orientiert sich da immer an der größten Komponente innerhalb des GridLayouts. Alle Komponenten werden an die Zellengröße angepaßt.
Die "userlist" kann also niemals kleiner sein als die "ausgabe" werden.
Du solltest dir dein Benutzeroberflächen-Konzept mal aufzeichnen und dann ganz genau überlegen, mit welchen Layoutmanagern du dieses Konzept umsetzen kannst.

Vielleicht solltest du dich mit der Thematik "Liquid-Layout" bzw. "Fluid-Layout" etwas beschäftigen.
Manche gewünschten Effekte bei der GUI-Gestaltung erreicht man nur, wenn man verschiedene Layoutmanager verschachtelt. Aber dazu muß man ganz genau wissen, wie sich jeder Manager genau verhält.

Wenn das alles nicht hilft, kannst du es ja so machen: Doing Without a Layout Manager (Absolute Positioning) (The Java™ Tutorials > Creating a GUI With JFC/Swing > Laying Out Components Within a Container)
Ist aber nicht schön und sollte eigendlich nur für spezielle Sonderfälle angewandt werden.

MfG
hansmueller
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Java Client-je nach Heap Size Größe startet Applikation oder nicht Java Basics - Anfänger-Themen 4
D JPanel passt die Größe nicht an Java Basics - Anfänger-Themen 22
T Erste Schritte Textfeld übernimmt Größe nicht Java Basics - Anfänger-Themen 11
-horn- Array mit nicht fixer Größe möglich? Nachträgliches befüllen Java Basics - Anfänger-Themen 10
T sortierung der eingabe nach größe Java Basics - Anfänger-Themen 5
J Größe eines Strings in Pixel Java Basics - Anfänger-Themen 18
M Seltsame Bytecode-Größe Java Basics - Anfänger-Themen 22
C initialisieren eines arrays richtiger Größe und mit geeignetem Datentyp Java Basics - Anfänger-Themen 26
J JScrollePane größe anpassen Java Basics - Anfänger-Themen 4
G Bubblesort Array der Größe 10 Java Basics - Anfänger-Themen 1
Kawastori Größe eines Arrays bestimmen Java Basics - Anfänger-Themen 13
D Probleme mit JFrame und der Größe Java Basics - Anfänger-Themen 8
O ADT Graph nach größe Abfragen Java Basics - Anfänger-Themen 42
G Benutzereingaben durch Zeilenumbruch trennen und in Array individueller Größe speichern Java Basics - Anfänger-Themen 20
T JLabel hat falsche größe Java Basics - Anfänger-Themen 1
H Swing Button hat falsche Größe Java Basics - Anfänger-Themen 5
E Array-Größe anpassen Java Basics - Anfänger-Themen 1
Z ArrayList direkt feste Größe mitgeben Java Basics - Anfänger-Themen 13
R Verschachtelte Arraylist und deren Größe auslesen Java Basics - Anfänger-Themen 7
D Größe der Zahlenkombinationen eines Arrays begrenzen Java Basics - Anfänger-Themen 0
V Die die aktuelle Größe zusätzlich in einem Label angezeigt wird Java Basics - Anfänger-Themen 11
J Liste der Größe nach sortieren Java Basics - Anfänger-Themen 2
P Größe der BufferStrategy in der Window-Klasse Java Basics - Anfänger-Themen 5
S String nach Größe sortieren Java Basics - Anfänger-Themen 6
O Größe von Objekten Java Basics - Anfänger-Themen 5
H Erste Schritte Größe eines 2 dimensionalen Arrays ausgeben Java Basics - Anfänger-Themen 6
M Feste Größe des JFrames - Problem mit Dimension Java Basics - Anfänger-Themen 6
S 2D-Spiel im Vollbild an größe anpassen? Java Basics - Anfänger-Themen 3
1 Größe einer zirkulären Liste bestimmen .. ? Java Basics - Anfänger-Themen 2
S JSlider Schritt Größe Java Basics - Anfänger-Themen 5
D Ausgabefenster größe festlegen Java Basics - Anfänger-Themen 3
P JTabel größe ändern und button anzeigen Java Basics - Anfänger-Themen 5
M Größe eines Buttons festlegen Java Basics - Anfänger-Themen 4
L JLabel Icon Größe anpassen Java Basics - Anfänger-Themen 11
S Datentypen und ihre Größe Java Basics - Anfänger-Themen 21
P JFrame Component automatische Größe verhindern Java Basics - Anfänger-Themen 2
L 3 Zahlen einlesen und nach der Größe Sortieren Java Basics - Anfänger-Themen 5
A Bildgröße automatisch auf JLabel Größe konvertieren Java Basics - Anfänger-Themen 9
W Methoden größe zweier tiere vergleichen Java Basics - Anfänger-Themen 15
B JTabbedPane größe der Tabs ändern Java Basics - Anfänger-Themen 6
M Größe einer Datei via. Link ermitteln Java Basics - Anfänger-Themen 9
W JButton in gleiche Größe bringen Java Basics - Anfänger-Themen 4
A Größe von Bild festlegen Java Basics - Anfänger-Themen 3
E Buchstaben nach Größe vergleichen Java Basics - Anfänger-Themen 4
M OOP Methode überschreiben mit String-Paramter unterschiedlicher Größe? Java Basics - Anfänger-Themen 19
RySa Input/Output aktuelle größe des BufferedWriters ? Java Basics - Anfänger-Themen 5
T ArrayIndexOutOfBoundsException - Problem mit Array-Größe Java Basics - Anfänger-Themen 4
L Größe von Ordner wiedergeben Java Basics - Anfänger-Themen 4
J Array Größe über Kommandozeile eingeben Java Basics - Anfänger-Themen 3
B Tabelle, Größe der Komponenten Java Basics - Anfänger-Themen 2
Luk10 Größe von Objekten Java Basics - Anfänger-Themen 4
A Datentypen Größe eines mehrdimensionales Arrays Java Basics - Anfänger-Themen 4
E Titel und Größe vom JFrame setzen Java Basics - Anfänger-Themen 6
A Bild ändert Größe des Gridbag Layouts Java Basics - Anfänger-Themen 4
M Größe einer Konsole ermitteln Java Basics - Anfänger-Themen 2
D Zylinder/Eigenschaften (auf Größe) vergleichen Java Basics - Anfänger-Themen 16
c_sidi90 Größe von Dateien aus File Array ermitteln Java Basics - Anfänger-Themen 12
N zweidimensionales array größe bestimmen Java Basics - Anfänger-Themen 1
I Schriftart / farbe / größe bei Emailversand ändern Java Basics - Anfänger-Themen 17
K Problem mit Applet Größe Java Basics - Anfänger-Themen 5
Luk10 Größe eines Arrays ausgeben Java Basics - Anfänger-Themen 4
B JButton Größe einstellen? Java Basics - Anfänger-Themen 3
T Wie kann ich einem Graph in nem JPanel eine fixe Größe geben? Java Basics - Anfänger-Themen 6
MisterSeven Java Swing - Wie Frame größe festlegen?! Java Basics - Anfänger-Themen 10
M größe JEditorPane Java Basics - Anfänger-Themen 5
radiac Von einem Bild die Größe rausfinden??? Java Basics - Anfänger-Themen 9
J 2Dimensionales Array, Größe durch Eingabe bestimmen Java Basics - Anfänger-Themen 9
S Eclipse Java Applet größe ändern aber wie? Java Basics - Anfänger-Themen 5
M array - größe Java Basics - Anfänger-Themen 8
Z TextArea Größe festlegen Java Basics - Anfänger-Themen 22
K Größe, mehrdimensionales Array Java Basics - Anfänger-Themen 6
B ComboBox Größe ändern Java Basics - Anfänger-Themen 4
P Größe eines JButton? Java Basics - Anfänger-Themen 17
C die Klasse File - die größe der Datei anzeigen Java Basics - Anfänger-Themen 12
Q Vector verändert trotz final seine Größe Java Basics - Anfänger-Themen 5
C Größe einer Referenz ? Java Basics - Anfänger-Themen 16
G JButton LookAndFeel - Größe ändern Java Basics - Anfänger-Themen 2
D File(jpeg) größe ändern und dann zu einen byte[] Java Basics - Anfänger-Themen 7
F InternalFrame, Anpassung der Größe Java Basics - Anfänger-Themen 10
F Größe von Grafik-Containern verschieben Java Basics - Anfänger-Themen 2
K globales array - größe im Konstruktor Java Basics - Anfänger-Themen 3
N Integer Array der Größe nach ordnen Java Basics - Anfänger-Themen 1
I Swing-Komponenten-Größe im GridBagLayout beschränken Java Basics - Anfänger-Themen 2
G Button Größe anpassen Java Basics - Anfänger-Themen 4
R textfeld größe definieren Java Basics - Anfänger-Themen 2
B Java Array List größe auslesen zur Suchfunktion Java Basics - Anfänger-Themen 5
K Strings der Größe nach ordnen Java Basics - Anfänger-Themen 5
S Auf JButtonBar komponenten ausrichten, größe festlegen? Java Basics - Anfänger-Themen 5
M größe für Applet definieren Java Basics - Anfänger-Themen 4
G JList größe verändert sich Java Basics - Anfänger-Themen 2
G max größe array Java Basics - Anfänger-Themen 10
G Größe von JFrame unveränderbar Java Basics - Anfänger-Themen 7
G Maximale Größe von klasse Java Basics - Anfänger-Themen 7
G Größe von Box festlegen Java Basics - Anfänger-Themen 7
G die Größe eines Button bestimmen ? Java Basics - Anfänger-Themen 4
N Größe von Buttons Java Basics - Anfänger-Themen 3
K Größe des nötigen Array erraten Java Basics - Anfänger-Themen 8
G Aktuelle Heap-Größe auslesen? Java Basics - Anfänger-Themen 3
A JPanel(mit JScrollBar) größe ändern Java Basics - Anfänger-Themen 9
B JTable - Einstellen der Größe bzw. der Länge Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben