GridLayout

S

slender12

Gast
Hallo,

ich hab eine frage zu GridLayout.

Java:
public class Label_Scrollbar extends JScrollBar {
	public static final int SCHWER = 2;
	public static final int MITTEL = 1;
	public static final int LEICHT = 0;
	

	LevelChangeObserver cb;
	private int level;
	
	public Label_Scrollbar(int level, LevelChangeObserver cb) {
		super(JScrollBar.VERTICAL, 1, 1, 0, 3);
		this.cb=cb;
		this.level=level;
		addAdjustmentListener(new Scrollbar_Listener());
		color_Change();	
	}

Also hier mit super(...) ruft man den kunstruktor von JScrollbar auf bzw. stellt halt das ganze ein, also einen Scrollbar.

In eine anderen klasse, wo auch Label_Scrollbar instanziert wird, mache ich: contentPane.add(bar, BorderLayout.EAST);
Und contentPane ist halt ein BorderLayout(). Warum brauche ich hierk ein gridLayout? im folgenden Programm brauche ich es ja auch?

Also im folgenden Programm, wenn ich das ohne Gridlayout mache dann sind die 3 scrollbars klein.
Und mit werden sie halt ausgedehnt, warum ist das beim obigen Programm nicht so?

Java:
  private void FrameInit() throws Exception {
    contentPane = (JPanel) getContentPane();
    contentPane.setLayout(new BorderLayout());
    setSize(new Dimension(400, 300));
    setTitle("Frame Title");
    
    p_center = new JPanel();
    contentPane.add(p_center, BorderLayout.CENTER);
    JPanel p_east = new JPanel(new GridLayout(1,3));
    contentPane.add(p_east, BorderLayout.EAST);
    
    sb_red = new JScrollBar(JScrollBar.VERTICAL,100,10,0,265);
    sb_green = new JScrollBar(JScrollBar.VERTICAL,100,10,0,265);
    sb_blue = new JScrollBar(JScrollBar.VERTICAL,100,10,0,265);

    SB_Listener sbl = new SB_Listener();
    
    sb_red.addAdjustmentListener(sbl);
    sb_blue.addAdjustmentListener(sbl);
    sb_green.addAdjustmentListener(sbl);
    
    p_east.add(sb_red);
    p_east.add(sb_green);
    p_east.add(sb_blue);
  }
}

GridLayout ist ja dafür da, das Sachen in die Länge gezogen werden? Aber macht das nicht BorderLayout auch irgendwie? Was ist der genaue Unterschied?

Dieses 1,3 steht für: 1 Reihe und 3 Spalten oder?


Danke!

mfg
 
Zuletzt bearbeitet von einem Moderator:

Timothy Truckle

Top Contributor
GridLayout ist ja dafür da, das Sachen in die Länge gezogen werden?
Nein, es ist dafür da, dass die Componentent in einem Raster (alle gleich groß) dargestellt werden.

Aber macht das nicht BorderLayout auch irgendwie?
Was ist der genaue Unterschied?[/QUOTE] BorderLayout stellt 5 Bereiche zur Verfügung: 4 Randbereiche, die die Componente in einer Richtung dehnen und in der anderen the "preferedSize" verwenden und einen zentralen Bereich, in dem die Componente die Restfläche ausfüllt.
Schau doch einfach mal in die API oder besser in's Tutorial, da ist das gut erklärt.

Dieses 1,3 steht für: 1 Reihe und 3 Spalten oder?
Ja.

bye
TT
 
S

slender12

Gast
Danke, aber warum braucht man beim 1ten programm kein gridLayout, aber beim 2ten schon?
 
S

slender12

Gast
Danke, aber ich wollte folgendes wissen:

Warum braucht man beim 1ten programm kein gridLayout, aber beim 2ten schon?

Ich hab mir das durchgelesen über BorderLayout und GridLayout, aber naja ich weiß noch immer nicht die antwort auf meine Frage.

Bitte helft mir.
 
S

SlaterB

Gast
na, ein bisschen mehr steckt schon dahinter

eine Komponente direkt im Osten eines BorderLayouts eingefügt wird über die gesamte Höhe gestreckt,
eine einzelne JScrollPane kann das sein,

oder auch ein JPanel X,
wird nun aber in X etwas eingefügt, dann denkt das Standard-FlowLayout von JPanel nicht daran, seinen gesamten Platz zu vergeben,
das fordert Sub-Komponenten doch eher auf, sich recht klein zu machen

man könnte wieder BorderLayout in X setzen oder GridLayout oder sich eine sonstige Lösung überlegen,
GridLayout funktioniert hier gerade gut
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S 3 Fragen, Verzeichnis, GridLayout psoitionieren, Werte für JSpinner Java Basics - Anfänger-Themen 2
L GridLayout, Beispiel? Java Basics - Anfänger-Themen 2
L GridLayout mit JLabel-Array füllen Java Basics - Anfänger-Themen 12
T Inhalt Gridlayout wird nicht angezeigt Java Basics - Anfänger-Themen 6
F Seitenrand beim GridLayout Java Basics - Anfänger-Themen 3
J GridLayout auf Panel zentrieren? Java Basics - Anfänger-Themen 2
D Objekte manuell in GridLayout einfügen Java Basics - Anfänger-Themen 4
B GridLayout - elemente mit Maus abfragen Java Basics - Anfänger-Themen 3
A Textfields + Labels in GridLayout(3,2) Java Basics - Anfänger-Themen 2
V GridLayout - Spaltenbreite variabel ? Java Basics - Anfänger-Themen 5
Developer_X Java GridLayout nicht ganz ausgereift Java Basics - Anfänger-Themen 6
Developer_X GridLayout->setPreferedSize(new Dimension(x,y,)); Java Basics - Anfänger-Themen 17
J Verständnisfrage GridLayout Java Basics - Anfänger-Themen 5
G GridLayout Allgemeine Fragen Java Basics - Anfänger-Themen 2
G GridLayout Java Basics - Anfänger-Themen 12
T GridLayout % Verändern? Java Basics - Anfänger-Themen 3
G Gridlayout Java Basics - Anfänger-Themen 4
Q Frage zu GridLayout Java Basics - Anfänger-Themen 5
O größe von panel mit gridlayout Java Basics - Anfänger-Themen 9
B Null-Layout oder GridLayout usw. Java Basics - Anfänger-Themen 5
V GridLayout anpassen? Java Basics - Anfänger-Themen 6
R GridLayout ignoriert setSize() u.ä. Angaben Java Basics - Anfänger-Themen 2
R leeres Feld im GridLayout (dummy Objekt erzeugen?) Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben