K
Killit
Gast
Yoho,
ihr Lieben. Ich bin es mal wieder ;D
Hab mich mittlerweile zum GridBagLayout vorgearbeitet und stoße wieder auf Hürden.
Mir erschließt sich gerade nicht ganz die Verwendung von gridwidth und weightx / weighty;
Mein Programm scheint ziemlich statisch und ändert sich kaum bei Eingabe:
Hier ein Ausschnitt aus einem Code, den ich gerade regelmäßig änder um die Wirkung zu testen.
Grad hab ich mal weighty auf 3 gesetzt, weil in der Beschreibung steht:
Spezifies how to distribute extra vertical space...
Jetzt dachte ich, dass sich mein Area nach unten ziehen müsste. Also quasi in die laenge und breite um 3 Felder von Y nach unten. Hatte zu dem TestBeispiel das Area extra auf 50,50 gemacht.
Stattdessen verschiebt sich die row von "ok" und dem Area um 3 von der ersten row.
Wobei meine Area sich in der Größe auch nicht ändert sonder statisch bleibt.
Außerdem check ich gridwidth nicht xD es scheint das tun zu wollen, was ich eigentlich mit weigthx
erreiche.
Spezifies the numbers of cells in a row for components display area...
Ich dachte das funktioniert wie ein Koordinatensystem:
0 1 2 3 4 5 ...
0
1
2
3
4
5
und das ich dann mit weigthx z.B.: das x festlege und mit weigthy das y, aber diese Punkte
scheinen überhaupt keinen Einfluss zu haben auf die Position,
also füge ich mit add(element, T ) qausi in einer Reihenfolge hinzu die immer von links nach
rechts abläuft?
Irgendwie ist das alles recht komisch grad
ihr Lieben. Ich bin es mal wieder ;D
Hab mich mittlerweile zum GridBagLayout vorgearbeitet und stoße wieder auf Hürden.
Mir erschließt sich gerade nicht ganz die Verwendung von gridwidth und weightx / weighty;
Mein Programm scheint ziemlich statisch und ändert sich kaum bei Eingabe:
Java:
import javax.swing.*;
import java.awt.*;
public class Grafik extends JFrame {
private JLabel name;
private JLabel eingabe;
private JTextField eingabefeld;
private JButton ok;
private JTextArea ausgabe;
public Grafik (){
this.setLayout(new GridBagLayout());
this.setVisible(true);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
GridBagConstraints c = new GridBagConstraints();
name = new JLabel ("Programm");
eingabe = new JLabel("Eingabe:");
eingabefeld = new JTextField(20);
ok = new JButton("ok");
ausgabe = new JTextArea(20,20);
c.insets = new Insets(5,5,5,5);
c.anchor = GridBagConstraints.WEST;
add(eingabe,c);
c.gridwidth = GridBagConstraints.REMAINDER;
c.weightx = 1;
c.fill = GridBagConstraints.HORIZONTAL;
add(eingabefeld,c);
c.gridwidth = 3;
c.weightx = 0;
add(ok,c);
c.weightx = 1;
c.weighty = 3;
c.fill = GridBagConstraints.HORIZONTAL;
add(ausgabe,c);
}
public static void main(String[] args){
Grafik x = new Grafik();
x.setSize(300,300);
}
}
Hier ein Ausschnitt aus einem Code, den ich gerade regelmäßig änder um die Wirkung zu testen.
Grad hab ich mal weighty auf 3 gesetzt, weil in der Beschreibung steht:
Spezifies how to distribute extra vertical space...
Jetzt dachte ich, dass sich mein Area nach unten ziehen müsste. Also quasi in die laenge und breite um 3 Felder von Y nach unten. Hatte zu dem TestBeispiel das Area extra auf 50,50 gemacht.
Stattdessen verschiebt sich die row von "ok" und dem Area um 3 von der ersten row.
Wobei meine Area sich in der Größe auch nicht ändert sonder statisch bleibt.
Außerdem check ich gridwidth nicht xD es scheint das tun zu wollen, was ich eigentlich mit weigthx
erreiche.
Spezifies the numbers of cells in a row for components display area...
Ich dachte das funktioniert wie ein Koordinatensystem:
0 1 2 3 4 5 ...
0
1
2
3
4
5
und das ich dann mit weigthx z.B.: das x festlege und mit weigthy das y, aber diese Punkte
scheinen überhaupt keinen Einfluss zu haben auf die Position,
also füge ich mit add(element, T ) qausi in einer Reihenfolge hinzu die immer von links nach
rechts abläuft?
Irgendwie ist das alles recht komisch grad