Hi,
ich habe dieses Layout für ein Programm in der Schule gemacht, doch schaffe ich eine Kleinigkeit nicht. Es geht um die 3 Buttons rechts, die ineinander sind, obwohl sie durch
eigentlich nacheinander kommen sollten, doch ist dem nicht so!
Wie kann ich das ändern, ohne die eine Komponente NORTH, die andere CENTER und die letzte SOUTH zu positionieren?
Nur der Buttonausschnitt:
Gesamter Code:
Falls ihr noch irgendetwas seht, was ihr nicht so gut findet, oder was man besser machen kann, schreibt es einfach, bin offen für jegliche konstruktive Kritik.
Danke MfG
xiix
ich habe dieses Layout für ein Programm in der Schule gemacht, doch schaffe ich eine Kleinigkeit nicht. Es geht um die 3 Buttons rechts, die ineinander sind, obwohl sie durch
Java:
c.gridwidth = GridBagConstraints.RELATIVE;
Wie kann ich das ändern, ohne die eine Komponente NORTH, die andere CENTER und die letzte SOUTH zu positionieren?

Nur der Buttonausschnitt:
Java:
c.gridx=1;
c.gridy=0;
add(new JLabel("Patientenverwaltung"), c);
c.fill = GridBagConstraints.NONE; //ob und wie die Komponente ihren Anzeigebereich ausfüllt
c.anchor = GridBagConstraints.NORTH; //Festlegung der Position einer Komponente innerhalb ihres Anzeigebereichs, falls sie diesen nicht voll ausfüllt.
c.gridwidth = GridBagConstraints.RELATIVE; //definiert die Anzahl an Gitterzellen, über die sich der Anzeigebereich horizontal erstreckt
c.gridx=1;
c.gridy=1;
JButton b;
add(b = new JButton("Patienten hinzufügen"), c);
list.add(b);
add(b = new JButton("Patienten entfernen"), c);
list.add(b);
add(b = new JButton("Patienten Eigenschaften"), c);
list.add(b);
Gesamter Code:
Java:
import java.awt.*;
import java.util.ArrayList;
import javax.swing.*;
public class AphasieInterface extends JFrame
{
private static final long serialVersionUID = -1865031491305560236L;
private ArrayList<Component> list = new ArrayList<Component>();
public AphasieInterface()
{
super("Aphasie");
this.setContentPane(this.getContentPane());
this.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.insets = new Insets(5, 5, 5, 5);
c.gridheight=c.gridwidth=1;
c.gridy=0;
c.gridx=0;
add(new JLabel("Patientenliste"), c);
c.gridx=0;
c.gridy=1;
String[] content = { "Scho wieda a Patient", "Scho wieda a Patient", "Scho wieda a Patient", "Scho wieda a Patient", "Scho wieda a Patient", "Scho wieda a Patient", "Scho wieda a Patient", "Scho wieda a Patient", "Scho wieda a Patient", "Geile Nutte" };
JList li;
add(new JScrollPane(li = new JList(content)), c);
list.add(li);
c.gridx=0;
c.gridy=2;
JTextField txt;
add(txt = new JTextField(), c);
list.add(txt);
c.gridheight = 1;
c.gridx=1;
c.gridy=0;
add(new JLabel("Patientenverwaltung"), c);
c.fill = GridBagConstraints.NONE; //ob und wie die Komponente ihren Anzeigebereich ausfüllt
c.anchor = GridBagConstraints.NORTH; //Festlegung der Position einer Komponente innerhalb ihres Anzeigebereichs, falls sie diesen nicht voll ausfüllt.
c.gridwidth = GridBagConstraints.RELATIVE; //definiert die Anzahl an Gitterzellen, über die sich der Anzeigebereich horizontal erstreckt
c.gridx=1;
c.gridy=1;
JButton b;
add(b = new JButton("Patienten hinzufügen"), c);
list.add(b);
add(b = new JButton("Patienten entfernen"), c);
list.add(b);
add(b = new JButton("Patienten Eigenschaften"), c);
list.add(b);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.setVisible(true);
}
public static void main(String[] args)
{
new AphasieInterface();
}
public ArrayList<Component> getComponentList()
{
return list;
}
}
Falls ihr noch irgendetwas seht, was ihr nicht so gut findet, oder was man besser machen kann, schreibt es einfach, bin offen für jegliche konstruktive Kritik.
Danke MfG
xiix
Zuletzt bearbeitet von einem Moderator: