# Abstand des Textes vom Rahmen bei JLabel



## nuely (11. Mai 2008)

Ich hab zur Erläuterung unten stehenden Code geschrieben. Ich möchte dabei einen Rahmen um die JLabel haben. Das funktioniert auch. Aber der Abstand des Textes im Label ist mir zu nah am Rand. Mit den ipad-Werten wollte ich den Vergrößern. Nach oben und unten hin funktioniert das auch gut, aber nicht nach rechts und links. Weiß jemand woran das liegt?


```
import java.awt.Color;
import java.awt.Frame;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.BorderFactory;
import javax.swing.JLabel;

public class Rahmenbeispiel {

	public static void main(String[] args)
	{
        Frame frame = new Frame("Beispiel");
        frame.setBounds (100, 100, 200, 100);

        frame.setLayout (new GridBagLayout());
        JLabel label1=new JLabel("Label 1");
        label1.setBorder(BorderFactory.createLineBorder(Color.black));
        frame.add(label1, new GridBagConstraints(0,0,1,1,0.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.NONE,new Insets(0,0,0,0),0,0));
        JLabel label2=new JLabel("Label 2");
        label2.setBorder(BorderFactory.createLineBorder(Color.black));
        frame.add(label2, new GridBagConstraints(1,0,1,1,0.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.NONE,new Insets(0,0,0,0),10,10));
        frame.addWindowListener
            (new WindowAdapter()
                {
                    public void windowClosing (WindowEvent e)
                    {
                        System.exit (0);
                    }
                }
            );
        frame.setVisible(true);

	}

}
```


----------



## L-ectron-X (12. Mai 2008)

Der Text muss im JLabel ausgerichtet werden. Und du solltest unbedingt vermeiden, Swing-Komponenten mit AWT-GUI-Komponenten zu vermischen.

```
import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JFrame;

public class Rahmenbeispiel {

   public static void main(String[] args)
   {
        JFrame frame = new JFrame("Beispiel");
        frame.setBounds (100, 100, 200, 100);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setLayout (new GridBagLayout());
        JLabel label1=new JLabel("Label 1");
        label1.setBorder(BorderFactory.createLineBorder(Color.black));
        frame.add(label1, new GridBagConstraints(0,0,1,1,0.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.NONE,new Insets(0,0,0,0),0,0));
        JLabel label2=new JLabel("Label 2");
        label2.setHorizontalAlignment(JLabel.CENTER);
        label2.setBorder(BorderFactory.createLineBorder(Color.black));
        frame.add(label2, new GridBagConstraints(1,0,1,1,0.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.NONE,new Insets(0,0,0,0),10,10));
        
        frame.setVisible(true);
   }
}
```


----------



## nuely (12. Mai 2008)

L-ectron-X hat gesagt.:
			
		

> Der Text muss im JLabel ausgerichtet werden. Und du solltest unbedingt vermeiden, Swing-Komponenten mit AWT-GUI-Komponenten zu vermischen.



ich hatte das fix zusammenkopiert um mit möglichst wenig Code mein Problem zu beschreiben. Die richtige Anwendung besteht nur aus Swing.

setHorizontalAlignment kenne ich, aber der Text soll schon linksbündig bleiben. Geht das dann auch noch mit dem JLabel. Eine solche Möglichkeit hatte ich nicht gefunden.


----------

