Two Laptop Bag
The moose likes Swing / AWT / SWT and the fly likes labeled tabs across the top of a window Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "labeled tabs across the top of a window" Watch "labeled tabs across the top of a window" New topic

labeled tabs across the top of a window

Matthew Helling

Joined: Mar 18, 2004
Posts: 17
I can't seem to find any documentation on how to do this. Can anyone point me in the right direction? As my program gets enhancements, I'd like to have multiple tabs for different sections of the program.
thanks in advance for any tips
Eddie Vanda
Ranch Hand

Joined: Mar 18, 2003
Posts: 281
Check out JTabbedPane
[ March 24, 2004: Message edited by: Eddie Vanda ]

The nice thing about Standards is that there are so many to choose from!
Purvi Pandya

Joined: Feb 11, 2004
Posts: 7
Below code of JTabbedPane. It might be helpful to u.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.plaf.metal.*;
public class ColorTabbedPaneExample extends JFrame {
String[] titles = {"blue","cyan","green","yellow",
Color[] colors = {, Color.cyan,, Color.yellow,,, };
JTabbedPane tabbedPane;
public ColorTabbedPaneExample() {
super("ColorTabbedPaneExample (Metal)");
UIManager.put("TabbedPane.selected", colors[0]);
tabbedPane = new JTabbedPane() {
public void updateUI(){
setUI(new ColoredTabbedPaneUI());
for (int i=0;i<titles.length;i++) {
tabbedPane.addTab(titles[i], createPane (titles[i], colors[i]));
tabbedPane.setBackgroundAt(i, colors[i].darker());
tabbedPane.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
int i = tabbedPane.getSelectedIndex();
JPanel createPane(String title, Color color) {
JPanel panel = new JPanel();
JLabel label = new JLabel(title);
return panel;
class ColoredTabbedPaneUI extends MetalTabbedPaneUI {
public void setSelectedTabBackground(Color color) {
selectColor = color;
protected void paintFocusIndicator(Graphics g, int tabPlacement,
Rectangle[] rects, int tabIndex,
Rectangle iconRect, Rectangle textRect,
boolean isSelected) {
public static void main(String[] args) {
JFrame frame = new ColorTabbedPaneExample();
frame.addWindowListener( new WindowAdapter() {
public void windowClosing( WindowEvent e ) {
frame.setSize( 360, 100 );
Purvi Pandya
I agree. Here's the link:
subject: labeled tabs across the top of a window
It's not a secret anymore!