This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
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


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
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
Author

labeled tabs across the top of a window

Matthew Helling
Greenhorn

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
Matt
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
Greenhorn

Joined: Feb 11, 2004
Posts: 7
Hi
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",
"orange","pink","red"};
Color[] colors = {Color.blue, Color.cyan, Color.green, Color.yellow,
Color.orange,Color.pink, Color.red };
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.setSelectedIndex(0);
tabbedPane.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
int i = tabbedPane.getSelectedIndex();
((ColoredTabbedPaneUI)tabbedPane.getUI()).setSelectedTabBackground(colors[i]);
tabbedPane.revalidate();
tabbedPane.repaint();
}
});
getContentPane().add(tabbedPane);
}
JPanel createPane(String title, Color color) {
JPanel panel = new JPanel();
panel.setBackground(color);
JLabel label = new JLabel(title);
label.setOpaque(true);
label.setBackground(Color.white);
panel.add(label);
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 ) {
System.exit(0);
}
});
frame.setSize( 360, 100 );
frame.setVisible(true);
}
}
bye,
Purvi Pandya
 
Consider Paul's rocket mass heater.
 
subject: labeled tabs across the top of a window
 
Similar Threads
printing TABS in strings
JTextPane/JEditorPane and Serialization
printing TABS in strings
Scrabble... it only takes a minute...
Can tabs in JTabbedPane be oriented vertically?