BoxLayout: Ausrichtung der Komponenten

  • Themenstarter Gelöschtes Mitglied 12486
  • Beginndatum
Status
Nicht offen für weitere Antworten.
G

Gelöschtes Mitglied 12486

Gast
Hallo,

ich habe ein JPanel auf dem ich mehrere Labels untereinander anzeigen lassen will. Dies habe ich über ein BoxLayout gelöst. Hier mal ein kleiner Beispielcode als Applet, damit ihr seht was mein Problem ist:

Code:
package jdomtest;

import java.awt.Color;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JApplet;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JPanel;

/**
 *
 * @author huetz
 */
public class PanelTest extends JApplet{


    private Vector<JComponent> components = new Vector<JComponent>();
    private JLabel fileNameTitle, fileNameLabel, fileLengthTitle, fileLengthLabel;
    private boolean debugLabels = true;
    private JPanel myPanel;

    public void init(){
        this.setLayout(null);
        this.setSize(200,200);

        myPanel = new JPanel();

        myPanel.setLayout(new BoxLayout(myPanel, BoxLayout.Y_AXIS));
        myPanel.setBounds(0, 0, 200, 200);
        components.add(myPanel);


        fileNameTitle = new JLabel("Dateiname:");
        fileNameTitle.setAlignmentX(RIGHT_ALIGNMENT);
        myPanel.add(fileNameTitle);
        components.add(fileNameTitle);

        fileNameLabel = new JLabel("test.xml");
        fileNameLabel.setAlignmentX(CENTER_ALIGNMENT);

        myPanel.add(fileNameLabel);
        components.add(fileNameLabel);

        fileLengthTitle = new JLabel("Dateigröße:");
        fileLengthTitle.setAlignmentX(RIGHT_ALIGNMENT);
        myPanel.add(fileLengthTitle);
        components.add(fileLengthTitle);

        fileLengthLabel = new JLabel(setFileLength(500));
        fileLengthLabel.setAlignmentX(CENTER_ALIGNMENT);

        myPanel.add(fileLengthLabel);
        components.add(fileLengthLabel);

        if(debugLabels)
            for(int i=0;i<components.size();i++){
                components.get(i).setBorder(BorderFactory.createCompoundBorder(
                       BorderFactory.createLineBorder(Color.red),
                       components.get(i).getBorder()));
            }

        this.add(myPanel);
    }

    public void setFileName(String name){
        fileNameLabel.setText(name);
    }
    public String setFileLength(long bytes){
        return ""+bytes+" Bytes";
    }
}
Wie das ganze aussieht, kann man im angehängten Bild IST.jpg sehen.

Also ich möchte, dass die die JLabels mit Dateiname und Dateigröße links ausgerichtet sind und die JLabels für die Werte, also der Name und die Größe, sollen mittig ausgerichtet werden. Das funktioniert auch gut, jedoch ist die imaginäre Achse, an denen diese nun ausgerichtet werden, leider nicht dort, wo ich sie gern hätte.

Ich hätte es gern so, wie auf dem angehängten Bild SOLL.jpg, jedoch weiss ich nicht, wie ich diese Achse so verschieben kann das es passt. Kann mir da jemand helfen?

edit: links = IST, rechts = SOLL
 

Anhänge

  • IST.jpg
    IST.jpg
    5,7 KB · Aufrufe: 30
  • SOLL.jpg
    SOLL.jpg
    5,6 KB · Aufrufe: 32
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
> fileNameTitle.setAlignmentX(RIGHT_ALIGNMENT);
passt irgendwie schlecht zum Wunsch, 'links auszurichten',
aber wenn man das wegnimmt, dann wird das insgesamt auch nicht viel besser,

ich schlage ein höheres Layout vor, Swing bietet GridBagLayout, externe Möglichkeiten sind vielleicht TableLayout oder andere,
dort teilst du deine GUI in ein Gitter aus Zeilen und Spalten ein, kannst für die Spalten feste breiten und/ oder Prozentwerte vergeben,
innerhalb der Gitter kannst du die Label dann auch noch ausrichten,

viel Arbeit sicherlich, für GridBagLayout siehe z.B.
How to Use GridBagLayout (The Java™ Tutorials > Creating a GUI with JFC/Swing > Laying Out Components Within a Container)
 
G

Gelöschtes Mitglied 12486

Gast
ja, das sollte auch LEFT_ALIGNMENT heißen... das war ein Versehen :) hmm dann wirds wohl auf mehr Arbeit hinauslaufen. Danke für den Tip. :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I BoxLayout zentriert Label nicht AWT, Swing, JavaFX & SWT 7
Z BoxLayout funktioniert nicht und Buttongröße AWT, Swing, JavaFX & SWT 18
R Swing panels nebeneinander mit BoxLayout.X_AXIS AWT, Swing, JavaFX & SWT 4
M BoxLayout AWT, Swing, JavaFX & SWT 6
T Swing Größe einer Komponente in einem BoxLayout / FlowLayout festlegen AWT, Swing, JavaFX & SWT 7
I BoxLayout, FlowLayout und Komponentengrößen AWT, Swing, JavaFX & SWT 1
S BoxLayout: Anordnung der Komponenten links statt zentriert AWT, Swing, JavaFX & SWT 0
S Bei BoxLayout haben hinzugefügten Jpanels einen Versatz/Space AWT, Swing, JavaFX & SWT 0
K BoxLayout-nicht teilbar AWT, Swing, JavaFX & SWT 6
apple987123 Swing BoxLayout AWT, Swing, JavaFX & SWT 3
G Problem mit Button im Boxlayout... AWT, Swing, JavaFX & SWT 4
F Swing BoxLayout ein JTextfield wird falsch positioniert AWT, Swing, JavaFX & SWT 2
T BoxLayout AWT, Swing, JavaFX & SWT 4
P LayoutManager Komponenten einfügen (FlowLayout, BoxLayout) AWT, Swing, JavaFX & SWT 2
R BoxLayout(Y_Axis) ignoriert preferedSize von Buttons AWT, Swing, JavaFX & SWT 5
B Probleme mit Layout Manager (BoxLayout) AWT, Swing, JavaFX & SWT 4
C Swing BoxLayout: Buttongröße AWT, Swing, JavaFX & SWT 10
F BoxLayout mit gleicher größe AWT, Swing, JavaFX & SWT 2
D Swing [BoxLayout] Nur TextArea und nicht TextField vergroessen AWT, Swing, JavaFX & SWT 2
K BoxLayout skaliert die "falschen" Elemente AWT, Swing, JavaFX & SWT 5
hdi BoxLayout mit Abstand? AWT, Swing, JavaFX & SWT 5
G BoxLayout? AWT, Swing, JavaFX & SWT 2
spacegaier BoxLayout: Buttons auf gleiche Größe bringen AWT, Swing, JavaFX & SWT 4
J Wie kann man beim BoxLayout scrollen? Keine Scrollleiste!:-( AWT, Swing, JavaFX & SWT 7
H AWTError: BoxLayout can't be shared AWT, Swing, JavaFX & SWT 1
A Probleme mit JPanel und BoxLayout AWT, Swing, JavaFX & SWT 5
J JComboBox und BoxLayout AWT, Swing, JavaFX & SWT 2
D BoxLayout in GridBagLayout AWT, Swing, JavaFX & SWT 7
O BoxLayout AWT, Swing, JavaFX & SWT 3
G BoxLayout: Abstand zwischen vertikalen Komponenten! AWT, Swing, JavaFX & SWT 4
P Größe und Ausrichtung von Komponenten festlegen AWT, Swing, JavaFX & SWT 13
R Swing Verändern der Ausrichtung JButton und neu anzeigen AWT, Swing, JavaFX & SWT 2
X JMenu Menu-Bar ausrichtung ändern im Programm AWT, Swing, JavaFX & SWT 0
C LayoutManager JFrame größe und ausrichtung + Position von Fensterelementen AWT, Swing, JavaFX & SWT 2
M Ausrichtung Vertikaler BOX funktioniert nicht AWT, Swing, JavaFX & SWT 3
J Swing JTable cell-ausrichtung für zahlen mit alternierenden zeilenfarben AWT, Swing, JavaFX & SWT 2
M Ausrichtung von Box'en AWT, Swing, JavaFX & SWT 3
C Swing GridBag-Probleme (Größe und Ausrichtung) AWT, Swing, JavaFX & SWT 3
H Swing Ausrichtung innerhalb der Reiterlasche eines JTabbedPanes AWT, Swing, JavaFX & SWT 9
M JFreeChart Ausrichtung der Balken AWT, Swing, JavaFX & SWT 2
R Swing JLabel Text ausrichtung AWT, Swing, JavaFX & SWT 2
N Swing Ausrichtung von Text in JTable AWT, Swing, JavaFX & SWT 9
W GUI übernimmt ausrichtung nicht AWT, Swing, JavaFX & SWT 5
D SWT SWT TableViewer ausrichtung des Inhaltes nach Datentyp AWT, Swing, JavaFX & SWT 2
C Ausrichtung im JPanel AWT, Swing, JavaFX & SWT 19
G Ausrichtung in der GUI - Problem AWT, Swing, JavaFX & SWT 16
N ausrichtung Button - hilfe bitte AWT, Swing, JavaFX & SWT 2
A JScrollPane und mittige ausrichtung AWT, Swing, JavaFX & SWT 5
G GridbagLayout Ausrichtung AWT, Swing, JavaFX & SWT 3
M Ausrichtung eines Panels AWT, Swing, JavaFX & SWT 7
G tabbedpane ausrichtung der reiter AWT, Swing, JavaFX & SWT 4
T Ausrichtung eines Jbuttons AWT, Swing, JavaFX & SWT 6
R Ausrichtung am oberen Rand beim Gridbag-Layout AWT, Swing, JavaFX & SWT 2
B FlowLayout ausrichtung | "Wasserzeichen" im JFrame AWT, Swing, JavaFX & SWT 8
S Keine Ausrichtung im JTextPane? AWT, Swing, JavaFX & SWT 3
J Ermittlung der Ausrichtung einer Komponente im BorderLayout AWT, Swing, JavaFX & SWT 3
F Ausrichtung einer Spalte ändern? AWT, Swing, JavaFX & SWT 4
C Ausrichtung von Zelleninhalten bei JTable AWT, Swing, JavaFX & SWT 2
D Swing Komponenten nicht sichtbar nach Start AWT, Swing, JavaFX & SWT 12
H Fehler: Zum Ausführen dieser Anwendung benötigte JavaFX-Runtime-Komponenten fehlen AWT, Swing, JavaFX & SWT 44
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
BabySuna Swing Komponenten auslagern auf separate Datei AWT, Swing, JavaFX & SWT 8
B Mit ContentPane werden Komponenten angezeigt, mit SplitPane, JPanel nicht? AWT, Swing, JavaFX & SWT 6
P AWT Einzelne Komponenten zur Laufzeit austauschen? AWT, Swing, JavaFX & SWT 3
D [Swing] Anordnung von Komponenten mit GridLayout Manager AWT, Swing, JavaFX & SWT 13
L Komponenten eines Panels werden erst nach Klick darauf angezeigt AWT, Swing, JavaFX & SWT 13
E Komponenten von JScrollPane werden nicht richtig ermittelt AWT, Swing, JavaFX & SWT 2
F Gebundene Eigenschaften bei Komponenten mit NetBeans verarbeiten AWT, Swing, JavaFX & SWT 3
H LayoutManager Probleme mit Positionierung/Abständen der Komponenten AWT, Swing, JavaFX & SWT 14
dereki2000 Swing JFrame nah hinzufügen von Komponenten akualisieren. AWT, Swing, JavaFX & SWT 2
L Swing Komponenten erst nach Resize sichtbar AWT, Swing, JavaFX & SWT 2
S Swing Panel übernimmt komponenten von anderem AWT, Swing, JavaFX & SWT 7
T Reihenfolge der Komponenten im einem JFrame AWT, Swing, JavaFX & SWT 8
P Gleichmäßige Anodnung von Komponenten im migLayout AWT, Swing, JavaFX & SWT 2
DaCrazyJavaExpert Swing Komponenten genauer anordnen. AWT, Swing, JavaFX & SWT 13
DaCrazyJavaExpert Swing Komponenten in GridBagLayout werden Falsch angeordnet AWT, Swing, JavaFX & SWT 1
MaxG. Swing Swing Komponenten zur Laufzeit hinzufügen AWT, Swing, JavaFX & SWT 2
D Swing Komponenten Anordnung eines Panels in Verbindung eines weiteren Panels AWT, Swing, JavaFX & SWT 9
N Swing Wie Programm strukturieren? (Dynamisch Komponenten hinzufügen) AWT, Swing, JavaFX & SWT 1
Neumi5694 LookAndFeel Look & Feel nicht angezeigter Komponenten ändern AWT, Swing, JavaFX & SWT 6
D JavaFX GUI Komponenten werden langsam bei größerer Datenmenge AWT, Swing, JavaFX & SWT 6
R Komponenten von JPanel bleiben unsichtbar AWT, Swing, JavaFX & SWT 2
D JavaFX Welche Komponenten vermisst ihr? Welche wären essenziell notwendig? AWT, Swing, JavaFX & SWT 8
M Datei mit Komponenten einbinden AWT, Swing, JavaFX & SWT 7
T SWT Externer zugrif auf SWT Komponenten AWT, Swing, JavaFX & SWT 3
Shams Probleme bei dem Hinzufügen von Komponenten zu einem JFrame AWT, Swing, JavaFX & SWT 3
J MouseOver bei Komponenten AWT, Swing, JavaFX & SWT 9
S Größe der Komponenten, beim ändern der größe des Frames, mit ändern! AWT, Swing, JavaFX & SWT 2
D LayoutManager GUI skalieren und deren Komponenten mit Grid(Bag)Layout-Manager. AWT, Swing, JavaFX & SWT 5
G Komponenten vergrößern sich nicht trotz Layoutmanager AWT, Swing, JavaFX & SWT 24
M JavaFX Scenebuilder eigene Komponenten AWT, Swing, JavaFX & SWT 8
A Swing per JComboBox gewünschtes Attribut auswählen und Komponenten passen sich an AWT, Swing, JavaFX & SWT 7
A JavaFX Eigene Komponenten im Scene Builder AWT, Swing, JavaFX & SWT 0
Q Swing Fenster updaten - Hinzugefügte Komponenten darstellen AWT, Swing, JavaFX & SWT 3
Bartertown JTable - Verschiedene Komponenten in einer Spalte unterbringen AWT, Swing, JavaFX & SWT 3
U Frame zeigt keine Komponenten AWT, Swing, JavaFX & SWT 7
G Applet Applet Komponenten flackern AWT, Swing, JavaFX & SWT 10
K LayoutManager Probleme mit 2 Komponenten AWT, Swing, JavaFX & SWT 9
M Komponenten übereinander AWT, Swing, JavaFX & SWT 7
R Komponenten werden erst nach maximierung des Frames sichtbar (Linux) AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben