package tabbed;
import java.awt.*;
import javax.swing.*;
import javax.swing.plaf.basic.BasicTabbedPaneUI;
/*
* AlignTabTitle.java
*/
public class AlignTabTitle extends JFrame{
public AlignTabTitle(){
super("Align Tab Title");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(400,300);
setLocationRelativeTo(null);
JTabbedPane tabbedpane = new JTabbedPane();
tabbedpane.setTabPlacement(JTabbedPane.RIGHT);
tabbedpane.setUI(new MeinTabbedPaneUI());
tabbedpane.addTab("Erstes Panel", new JLabel("panel 1"));
tabbedpane.addTab("Zweites Panel", new JLabel("panel 2"));
tabbedpane.addTab("Und drittes Panel", new JLabel("panel 3"));
add(tabbedpane);
}
public static void main(String[] args){new AlignTabTitle().setVisible(true);}
private class MeinTabbedPaneUI extends BasicTabbedPaneUI{
protected void paintText(Graphics g, int tabPlacement, Font font
, FontMetrics metrics, int tabIndex, String title
, Rectangle textRect, boolean isSelected){
g.setColor(tabPane.getForegroundAt(tabIndex));
g.drawString(title,
textRect.x + (maxTabWidth - textRect.width)/2 - tabInsets.right,
textRect.y + metrics.getAscent());
}
}
}