Я как бы расстроен групповым макетом. Как я могу сделать так, чтобы метка upLabel
была центрирована на красной верхней панели?Центр JLabel внутри JPanel с GroupLayout
Этот пример не работает, и я попробовал много вещей, так что это была моя последняя попытка, прежде чем я выгнал монитор из окна ;-)
Я знаю, что есть лучшие способы центра для текста в пределах JPanel
, но я просто хотел поиграть и хотел понять основы. Я читаю примеры с oracle.com, но они намного сложнее и честно легче понять. Но эта простая задача для меня не работает.
Многие приветствия и благодарности
import java.awt.Color;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.*;
public class Main1 extends JFrame{
public static void main(String[] args) {
new Main1().begin();
}
public void begin() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
setResizable(true);
setSize(500, 500);
setTitle("Hauptmenue");
setLocationRelativeTo(null);
setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GroupLayout layout = new GroupLayout(this.getContentPane());
this.getContentPane().setLayout(layout);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);
JPanel up = new JPanel();
up.setBackground(Color.RED);
JPanel mid = new JPanel();
JPanel bot = new JPanel();
// von links
layout.setHorizontalGroup(layout.createParallelGroup().
addComponent(up,300, 400, Short.MAX_VALUE).
addComponent(mid).
addComponent(bot));
// von oben
layout.setVerticalGroup(layout.createSequentialGroup().addComponent(up).
addComponent(mid).
addComponent(bot));
layout = new GroupLayout(up);
up.setLayout(layout);
JLabel upLabel = new JLabel("Dummy Text");
layout.setHorizontalGroup(layout.createSequentialGroup().addComponent(upLabel, 300, 400, Short.MAX_VALUE));
layout.setVerticalGroup(layout.createSequentialGroup().addComponent(upLabel));
} catch (Exception e) {
e.printStackTrace();
}
}
}
GroupLayout был фактически разработан для использования с GUI Builder, как Jigloo или Matisse – keuleJ
+1 для публикации SSCCE. :) –