| 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
|
 |
 |
I agree. Here's the link: jrebel
|
|
subject: labeled tabs across the top of a window
|
|
|