Ich muss eine GUI mit GroupLayout (keine anderen Layouts) erstellen. Die GUI wird wie folgt aussehen:Erstellen von GUI mit GroupLayout in Java
----------------------------
| field 1 field 2 field 3 |
| FFIEEELLLDD4 FIELDDDDDD5 |
| FIEEEEEEEEEEEEEEELDDDD 6 |
_____________________________
Felder von 1 bis 3 nehmen 1 Länge jeweils Feld 4 und 5 nehmen 1,5 Länge jedes und Feld 6 dauert 3 Länge. Die drei Gruppen sind sowohl am Anfang als auch am Ende ausgerichtet.
Ich habe mich auf diese http://docs.oracle.com/javase/tutorial/uiswing/layout/group.html beziehen.
Der Einfachheit halber verwende ich JLabels als Platzhalter für die Felder.
Hier ist mein Code bisher und ich habe kein Glück, die GUI, die ich wollte.
public class RecorderGUI extends JFrame {
private final JLabel one;
private final JLabel two;
private final JLabel three;
private final JLabel four;
private final JLabel five;
private final JLabel six;
public RecorderGUI() {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GroupLayout layout = new GroupLayout(panel);
panel.setLayout(layout);
one = new JLabel("one");
two = new JLabel("two");
three = new JLabel("three");
four = new JLabel("four");
five = new JLabel("five");
six = new JLabel("six");
layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup())
.addComponent(one)
.addComponent(two)
.addComponent(three)
.addGroup(layout.createSequentialGroup())
.addComponent(four)
.addComponent(five))
.addComponent(six));
layout.setVerticalGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(one)
.addComponent(two)
.addComponent(three))
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(four)
.addComponent(five))
.addComponent(six));
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
public static void main(final String[] args) {
RecorderGUI GUI = new RecorderGUI();
}
Der Code wird, was im folgenden, was nicht das, was ich wollte: eins, zwei und drei sind miteinander verschmolzen; vier und fünf überlappen sich ebenfalls.
Sorry, würde Ich mag ein Bild von der Ausgangs GUI hinzufügen, aber ich kann keine Bilder anhängen, weil ich unter 10 Ruf haben :(
eins, zwei und drei sind miteinander verschmolzen;. vier und fünf Überlappung sowie – newtothissite
und warum die Beschränkung auf 'GroupLayout' – Howard