Alinhamento do texto No JTabedPane

Boas,

Alguem sabe como alinhar para a esquerda, direita ou centro o texo no JTabedPane. Ele por defeito vem centralizado e eu gostaria de mudar isso !

Você está se referindo às legendas dos tabs do JTabbedPane, é isso?

Sim isso mesmo “Tab1” “Tab2” … este textos ficam centralizados por defeito… quero coloca-los alinhados a esquerda ou direita

Acho que não é muito complicado, mas preciso escrever um exemplo

Este é um exemplo bem complicado, só para você ter uma idéia do que se pode fazer.

package guj;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Font;

import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.UIManager;
import javax.swing.border.BevelBorder;
import javax.swing.border.EmptyBorder;

import com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel;

public class ExemploJTabbedPane2 extends JFrame {

    private JPanel contentPane;
    private JTabbedPane tabbedPane;
    private JPanel panel2;
    private JPanel panel3;
    private JPanel panel1;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    UIManager.setLookAndFeel(new NimbusLookAndFeel());
                    ExemploJTabbedPane2 frame = new ExemploJTabbedPane2();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public ExemploJTabbedPane2() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 650, 300);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        contentPane.setLayout(new BorderLayout(0, 0));
        setContentPane(contentPane);
        contentPane.add(getTabbedPane(), BorderLayout.CENTER);
    }

    private JTabbedPane getTabbedPane() {
        if (tabbedPane == null) {
            tabbedPane = new JTabbedPane(JTabbedPane.TOP);
            tabbedPane.addTab(null, getPanel1());
            JLabel lbl1 = new JLabel("Panel 1");
            lbl1.setHorizontalAlignment(JLabel.LEFT);
            lbl1.setFont(Font.decode("Georgia"));
            lbl1.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
            lbl1.setPreferredSize(new Dimension(140, 20));
            tabbedPane.setTabComponentAt(0, lbl1);

            tabbedPane.addTab(null, getPanel2());
            JLabel lbl2 = new JLabel("Panel 2");
            lbl2.setHorizontalAlignment(JLabel.CENTER);
            lbl2.setFont(Font.decode("Times New Roman"));
            lbl2.setBorder(BorderFactory.createLineBorder(Color.RED));
            lbl2.setPreferredSize(new Dimension(140, 20));
            tabbedPane.setTabComponentAt(1, lbl2);

            tabbedPane.addTab(null, getPanel3());
            JLabel lbl3 = new JLabel("Panel 3");
            lbl3.setHorizontalAlignment(JLabel.RIGHT);
            lbl3.setFont(Font.decode("Lucida Console"));
            lbl3.setBorder(BorderFactory.createEtchedBorder());
            lbl3.setPreferredSize(new Dimension(140, 20));
            tabbedPane.setTabComponentAt(2, lbl3);
        }
        return tabbedPane;
    }

    private JPanel getPanel2() {
        if (panel2 == null) {
            panel2 = new JPanel();
        }
        return panel2;
    }

    private JPanel getPanel3() {
        if (panel3 == null) {
            panel3 = new JPanel();
        }
        return panel3;
    }

    private JPanel getPanel1() {
        if (panel1 == null) {
            panel1 = new JPanel();
        }
        return panel1;
    }
}