K
Krassia
Gast
Hi,
und zwar geht es darum, dass ich momentan eine Graphische Oberfläche mit dem GridBagLayout erstellen will.
Es hatte auch alles geklappt bis ich meine JList dem Panel hinzufügen wollte, diese wird anstatt links unten rechts oben angezeigt und ich weiss nicht wieso.
Um die JList habe ich ein JScrollPane gelegt und wenn ich die JScrollpane wegnehme, dann wird die JList an der richtigen stelle angezeigt. Also muss das in irgeneinem zusammenhang mit der JScrollPane liegen aber ich weiss woran das liegen kann und komme einfach nicht auf die Lösung.
Ich hoffe ich habe mein Problem einigermaßen verständlich erklärt und ihr könnt mir weiterhelfen
Vielen Dank schonmal im vorraus.
Mit freundlichen Grüßen
Krassia
und zwar geht es darum, dass ich momentan eine Graphische Oberfläche mit dem GridBagLayout erstellen will.
Es hatte auch alles geklappt bis ich meine JList dem Panel hinzufügen wollte, diese wird anstatt links unten rechts oben angezeigt und ich weiss nicht wieso.
Um die JList habe ich ein JScrollPane gelegt und wenn ich die JScrollpane wegnehme, dann wird die JList an der richtigen stelle angezeigt. Also muss das in irgeneinem zusammenhang mit der JScrollPane liegen aber ich weiss woran das liegen kann und komme einfach nicht auf die Lösung.
Ich hoffe ich habe mein Problem einigermaßen verständlich erklärt und ihr könnt mir weiterhelfen
Vielen Dank schonmal im vorraus.
Code:
package Gui;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import org.jdesktop.swingx.JXList;
public class PMitarbeiter implements ActionListener {
private JDialog dialog;
private JPanel panel;
private JRadioButton radioB1, radioB2;
private ButtonGroup rmi;
private JXList auswahlListe, hinzufügenListe;
private JTextField suchEingabe;
private JButton bHinzufügen, bEntfernen, bSpeichern;
public PMitarbeiter() {
init();
}
public void init() {
createDialog();
createRadioButton();
createList();
createTextField();
createButton();
createPanel();
add();
show();
}
public void createDialog() {
dialog = new JDialog(dialog, "Mitarbeiter hinzufügen");
}
public void createRadioButton() {
radioB1 = new JRadioButton("Vorname");
radioB1.addActionListener(this);
radioB2 = new JRadioButton("Nachname");
radioB2.addActionListener(this);
rmi = new ButtonGroup();
rmi.add(radioB1);
rmi.add(radioB2);
}
public void createList() {
DefaultListModel listModel = new DefaultListModel();
listModel.addElement("Debbie Scott");
listModel.addElement("Scott Hommel");
listModel.addElement("Alan Sommerer");
listModel.addElement("Debbie Scott");
listModel.addElement("Scott Hommel");
listModel.addElement("Alan Sommerer");
listModel.addElement("Debbie Scott");
listModel.addElement("Scott Hommel");
listModel.addElement("Alan Sommerer");
listModel.addElement("Debbie Scott");
listModel.addElement("Scott Hommel");
listModel.addElement("Alan Sommerer");
listModel.addElement("Debbie Scott");
listModel.addElement("Scott Hommel");
listModel.addElement("Alan Sommerer");
listModel.addElement("Debbie Scott");
listModel.addElement("Scott Hommel");
listModel.addElement("Alan Sommerer");
listModel.setSize(10);
auswahlListe = new JXList(listModel);
auswahlListe.setName("Ausgewählter Mitarbeiter");
auswahlListe.setSize(5, 10);
auswahlListe.setVisibleRowCount(3);
hinzufügenListe = new JXList(new Object[] { "Kraus", "Klewes" });
hinzufügenListe.setVisibleRowCount(8);
}
public void createTextField() {
suchEingabe = new JTextField(10);
}
public void createButton() {
bEntfernen = new JButton("<");
bEntfernen.addActionListener(this);
bHinzufügen = new JButton(">");
bHinzufügen.addActionListener(this);
bSpeichern = new JButton("Speichern");
bSpeichern.addActionListener(this);
}
public void createPanel() {
GridBagLayout gbl = new GridBagLayout();
panel = new JPanel(gbl);
GridBagConstraints gbc = new GridBagConstraints();
// Festlegen, dass die GUI-Elemente die Gitterfelder in
// waagerechter Richtung ausfüllen:
gbc.fill = GridBagConstraints.HORIZONTAL;
// Die Abständer der einzelnen GUI-Elemente zu den gedachten
// Gitterlinien festgelegen:
gbc.insets = new Insets(2, 2, 2, 2);
// RadioButton "1" wird dem Panel zugewiesen (radioB1)
gbc.gridx = 0; // x-Position im gedachten Gitter
gbc.gridy = 0; // y-Positionb im gedachten Gitter
gbc.gridheight = 1; // ein Gitter Feld hoch
gbl.setConstraints(radioB1, gbc);
panel.add(radioB1);
// RadioButton "2" wird dem Panel zugewiesen (radioB1)
gbc.gridx = 0;
gbc.gridy = 1;
gbc.gridheight = 1;
gbl.setConstraints(radioB2, gbc);
panel.add(radioB2);
// TextField wird dem Panel zugewiesen (suchEingabe)
gbc.gridx = 1 - 2;
gbc.gridy = 1 - 2;
gbc.gridheight = 2;
gbl.setConstraints(suchEingabe, gbc);
panel.add(suchEingabe);
// Liste "1" wird dem Panel zugewiesen (auswahlListe)
gbc.gridx = 0;
gbc.gridy = 2 - 3;
gbc.gridheight = 2;
gbl.setConstraints(auswahlListe, gbc);
// Um die Liste wird eine ScrollPane gelegt
JScrollPane listScroller = new JScrollPane(auswahlListe);
listScroller.setPreferredSize(new Dimension(150, 80));
// panel.add(listScroller);
panel.add(auswahlListe);
}
public void add() {
dialog.add(panel);
}
public void show() {
this.dialog.pack();
this.dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
this.dialog.setModal(true);
this.dialog.setVisible(true);
this.dialog.setLocationRelativeTo(null);
}
public void actionPerformed(ActionEvent e) {
}
public static void main(String[] args) {
new PMitarbeiter();
}
}
Mit freundlichen Grüßen
Krassia