Java by API/javax.swing/JTabbedPane

Материал из Java эксперт
Перейти к: навигация, поиск

Содержание

JTabbedPane: addChangeListener(ChangeListener l)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.KeyEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTabbedPane; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class MainClass {

 public static void main(String args[]) throws Exception {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTabbedPane tabbedPane = new JTabbedPane();
   tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
   String titles[] = { "A", "B", "C", "D", "E", "F" };
   int mnemonic[] = { KeyEvent.VK_A, KeyEvent.VK_B, KeyEvent.VK_C, KeyEvent.VK_D, KeyEvent.VK_E,
       KeyEvent.VK_F };
   for (int i = 0, n = titles.length; i < n; i++) {
     add(tabbedPane, titles[i], mnemonic[i]);
   }
   ChangeListener changeListener = new ChangeListener() {
     public void stateChanged(ChangeEvent changeEvent) {
       JTabbedPane sourceTabbedPane = (JTabbedPane) changeEvent.getSource();
       int index = sourceTabbedPane.getSelectedIndex();
       System.out.println("Tab changed to: " + sourceTabbedPane.getTitleAt(index));
     }
   };
   tabbedPane.addChangeListener(changeListener);
   frame.add(tabbedPane, BorderLayout.CENTER);
   frame.setSize(400, 150);
   frame.setVisible(true);
 }
 static void add(JTabbedPane tabbedPane, String label, int mnemonic) {
   int count = tabbedPane.getTabCount();
   JButton button = new JButton(label);
   tabbedPane.addTab(label, button);
   tabbedPane.setMnemonicAt(count, mnemonic);
 }

}


 </source>
   
  
 
  



JTabbedPane: addTab(String title, Component component)

   <source lang="java">

import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTabbedPane; public class MainClass {

 static void addIt(JTabbedPane tabbedPane, String text) {
   JLabel label = new JLabel(text);
   JButton button = new JButton(text);
   JPanel panel = new JPanel();
   panel.add(label);
   panel.add(button);
   tabbedPane.addTab(text, panel);
 }
 public static void main(String args[]) {
   JFrame f = new JFrame("JTabbedPane Sample");
   f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTabbedPane tabbedPane = new JTabbedPane();
   addIt(tabbedPane, "Tab One");
   addIt(tabbedPane, "Tab Two");
   addIt(tabbedPane, "Tab Three");
   f.add(tabbedPane, BorderLayout.CENTER);
   f.setSize(300, 200);
   f.setVisible(true);
 }

}


 </source>
   
  
 
  



JTabbedPane: addTab(String title, Icon icon, Component component, String tip)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Color; import java.awt.ruponent; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Icon; import javax.swing.JButton; import javax.swing.JCheckBoxMenuItem; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JTabbedPane; import javax.swing.JTextField; public class Main extends JFrame {

 private JTextField textfield = new JTextField();
 public static void main(String[] args) {
   Main that = new Main();
   that.setVisible(true);
 }
 public Main() {
   setSize(450, 350);
   this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   getContentPane().add(textfield, BorderLayout.SOUTH);
   JMenuBar mbar = new JMenuBar();
   JMenu menu = new JMenu("File");
   menu.add(new JCheckBoxMenuItem("Check Me"));
   menu.addSeparator();
   JMenuItem item = new JMenuItem("Exit");
   item.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent e) {
       System.exit(0);
     }
   });
   menu.add(item);
   mbar.add(menu);
   setJMenuBar(mbar);
   JTabbedPane tabbedPane = new JTabbedPane();
   tabbedPane.addTab("Button", new TabIcon(), new JButton(""), "Click here for Button demo");
 }

} class TabIcon implements Icon {

 public int getIconWidth() {
   return 16;
 }
 public int getIconHeight() {
   return 16;
 }
 public void paintIcon(Component c, Graphics g, int x, int y) {
   g.setColor(Color.black);
   g.fillRect(x + 4, y + 4, getIconWidth() - 8, getIconHeight() - 8);
   g.setColor(Color.cyan);
   g.fillRect(x + 6, y + 6, getIconWidth() - 12, getIconHeight() - 12);
 }

}

 </source>
   
  
 
  



JTabbedPane: getComponentAt(int index)

   <source lang="java">

import java.awt.ruponent; import javax.swing.Icon; import javax.swing.JTabbedPane; public class Main {

 public static void main(String[] argv) throws Exception {
   JTabbedPane pane = new JTabbedPane();
   int count = pane.getTabCount();
   for (int i = 0; i < count; i++) {
     String label = pane.getTitleAt(i);
     Icon icon = pane.getIconAt(i);
     String tooltip = pane.getToolTipTextAt(i);
     boolean enabled = pane.isEnabledAt(i);
     int keycode = pane.getMnemonicAt(i);
     Component comp = pane.getComponentAt(i);
   }
 }

}

 </source>
   
  
 
  



JTabbedPane: getDisabledIconAt(int index)

   <source lang="java">

import java.awt.Color; import java.awt.ruponent; import javax.swing.Icon; import javax.swing.JTabbedPane; public class Main {

 public static void main(String[] argv) throws Exception {
   JTabbedPane pane = new JTabbedPane();
   int src = pane.getTabCount() - 1;
   int dst = 0;
   Component comp = pane.getComponentAt(src);
   String label = pane.getTitleAt(src);
   Icon icon = pane.getIconAt(src);
   Icon iconDis = pane.getDisabledIconAt(src);
   String tooltip = pane.getToolTipTextAt(src);
   boolean enabled = pane.isEnabledAt(src);
   int keycode = pane.getMnemonicAt(src);
   int mnemonicLoc = pane.getDisplayedMnemonicIndexAt(src);
   Color fg = pane.getForegroundAt(src);
   Color bg = pane.getBackgroundAt(src);
   pane.remove(src);
   pane.insertTab(label, icon, comp, tooltip, dst);
   pane.setDisabledIconAt(dst, iconDis);
   pane.setEnabledAt(dst, enabled);
   pane.setMnemonicAt(dst, keycode);
   pane.setDisplayedMnemonicIndexAt(dst, mnemonicLoc);
   pane.setForegroundAt(dst, fg);
   pane.setBackgroundAt(dst, bg);
 }

}

 </source>
   
  
 
  



JTabbedPane: getDisplayedMnemonicIndexAt(int tabIndex)

   <source lang="java">

import java.awt.Color; import java.awt.ruponent; import javax.swing.Icon; import javax.swing.JTabbedPane; public class Main {

 public static void main(String[] argv) throws Exception {
   JTabbedPane pane = new JTabbedPane();
   int src = pane.getTabCount() - 1;
   int dst = 0;
   Component comp = pane.getComponentAt(src);
   String label = pane.getTitleAt(src);
   Icon icon = pane.getIconAt(src);
   Icon iconDis = pane.getDisabledIconAt(src);
   String tooltip = pane.getToolTipTextAt(src);
   boolean enabled = pane.isEnabledAt(src);
   int keycode = pane.getMnemonicAt(src);
   int mnemonicLoc = pane.getDisplayedMnemonicIndexAt(src);
   Color fg = pane.getForegroundAt(src);
   Color bg = pane.getBackgroundAt(src);
   pane.remove(src);
   pane.insertTab(label, icon, comp, tooltip, dst);
   pane.setDisabledIconAt(dst, iconDis);
   pane.setEnabledAt(dst, enabled);
   pane.setMnemonicAt(dst, keycode);
   pane.setDisplayedMnemonicIndexAt(dst, mnemonicLoc);
   pane.setForegroundAt(dst, fg);
   pane.setBackgroundAt(dst, bg);
 }

}

 </source>
   
  
 
  



JTabbedPane: getIconAt(int index)

   <source lang="java">

import java.awt.ruponent; import javax.swing.Icon; import javax.swing.JTabbedPane; public class Main {

 public static void main(String[] argv) throws Exception {
   JTabbedPane pane = new JTabbedPane();
   int count = pane.getTabCount();
   for (int i = 0; i < count; i++) {
     String label = pane.getTitleAt(i);
     Icon icon = pane.getIconAt(i);
     String tooltip = pane.getToolTipTextAt(i);
     boolean enabled = pane.isEnabledAt(i);
     int keycode = pane.getMnemonicAt(i);
     Component comp = pane.getComponentAt(i);
   }
 }

}

 </source>
   
  
 
  



JTabbedPane: getMnemonicAt(int tabIndex)

   <source lang="java">

import java.awt.ruponent; import javax.swing.Icon; import javax.swing.JTabbedPane; public class Main {

 public static void main(String[] argv) throws Exception {
   JTabbedPane pane = new JTabbedPane();
   int count = pane.getTabCount();
   for (int i = 0; i < count; i++) {
     String label = pane.getTitleAt(i);
     Icon icon = pane.getIconAt(i);
     String tooltip = pane.getToolTipTextAt(i);
     boolean enabled = pane.isEnabledAt(i);
     int keycode = pane.getMnemonicAt(i);
     Component comp = pane.getComponentAt(i);
   }
 }

}

 </source>
   
  
 
  



JTabbedPane: getTitleAt(int index)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.KeyEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTabbedPane; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class MainClass {

 public static void main(String args[]) throws Exception {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTabbedPane tabbedPane = new JTabbedPane();
   tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
   String titles[] = { "A", "B", "C", "D", "E", "F" };
   int mnemonic[] = { KeyEvent.VK_A, KeyEvent.VK_B, KeyEvent.VK_C, KeyEvent.VK_D, KeyEvent.VK_E,
       KeyEvent.VK_F };
   for (int i = 0, n = titles.length; i < n; i++) {
     add(tabbedPane, titles[i], mnemonic[i]);
   }
   ChangeListener changeListener = new ChangeListener() {
     public void stateChanged(ChangeEvent changeEvent) {
       JTabbedPane sourceTabbedPane = (JTabbedPane) changeEvent.getSource();
       int index = sourceTabbedPane.getSelectedIndex();
       System.out.println("Tab changed to: " + sourceTabbedPane.getTitleAt(index));
     }
   };
   tabbedPane.addChangeListener(changeListener);
   frame.add(tabbedPane, BorderLayout.CENTER);
   frame.setSize(400, 150);
   frame.setVisible(true);
 }
 static void add(JTabbedPane tabbedPane, String label, int mnemonic) {
   int count = tabbedPane.getTabCount();
   JButton button = new JButton(label);
   tabbedPane.addTab(label, button);
   tabbedPane.setMnemonicAt(count, mnemonic);
 }

}


 </source>
   
  
 
  



JTabbedPane: getToolTipTextAt(int index)

   <source lang="java">

import java.awt.ruponent; import javax.swing.Icon; import javax.swing.JTabbedPane; public class Main {

 public static void main(String[] argv) throws Exception {
   JTabbedPane pane = new JTabbedPane();
   int count = pane.getTabCount();
   for (int i = 0; i < count; i++) {
     String label = pane.getTitleAt(i);
     Icon icon = pane.getIconAt(i);
     String tooltip = pane.getToolTipTextAt(i);
     boolean enabled = pane.isEnabledAt(i);
     int keycode = pane.getMnemonicAt(i);
     Component comp = pane.getComponentAt(i);
   }
 }

}

 </source>
   
  
 
  



JTabbedPane: indexOfComponent(Component component)

   <source lang="java">

   

import javax.swing.JButton; import javax.swing.JTabbedPane; public class Main {

 public static void main(String[] argv) throws Exception {
   JTabbedPane pane = new JTabbedPane();
   JButton component = new JButton("button");
   int index = pane.indexOfComponent(component);
   if (index < 0) {
     // The tab could not be found
   }
 }

}

 </source>
   
  
 
  



JTabbedPane: indexOfTab(String title)

   <source lang="java">

import javax.swing.JTabbedPane; public class Main {

 public static void main(String[] argv) throws Exception {
   JTabbedPane pane = new JTabbedPane();
   // Get the index of the first tab that matches a label
   String label = "Tab Label";
   int index = pane.indexOfTab(label);
 }

}

 </source>
   
  
 
  



JTabbedPane: insertTab(String title, Icon icon, Component component, String tip, int index)

   <source lang="java">

import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JTabbedPane; public class Main {

 public static void main(String[] argv) throws Exception {
   JTabbedPane pane = new JTabbedPane();
   JButton component = new JButton("button");
   int index = 1;
   pane.insertTab("label", new ImageIcon("icon.png"), component, "tooltip", index);
 }

}

 </source>
   
  
 
  



JTabbedPane: isEnabledAt(int index)

   <source lang="java">

import javax.swing.JButton; import javax.swing.JTabbedPane; public class Main {

 public static void main(String[] argv) throws Exception {
   JTabbedPane pane = new JTabbedPane();
   pane.addTab("Tab Label", new JButton("Button"));
   // Get index of the new tab
   int index = pane.getTabCount() - 1;
   // Determine whether the tab is enabled
   boolean enabled = pane.isEnabledAt(index);
   // Disable the tab
   pane.setEnabledAt(index, false);
 }

}

 </source>
   
  
 
  



JTabbedPane: removeAll()

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.KeyEvent; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTabbedPane; public class Main {

 static void add(JTabbedPane tabbedPane, String label, int mnemonic) {
   int count = tabbedPane.getTabCount();
   JButton button = new JButton(label);
   tabbedPane.addTab(label, new ImageIcon("yourFile.gif"), button, label);
   tabbedPane.setMnemonicAt(count, mnemonic);
 }
 public static void main(String args[]) {
   JFrame frame = new JFrame("Tabbed Pane Sample");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTabbedPane tabbedPane = new JTabbedPane();
   tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
   String titles[] = { "General", "Security", "Content", "Connection", "Programs", "Advanced" };
   int mnemonic[] = { KeyEvent.VK_G, KeyEvent.VK_S, KeyEvent.VK_C, KeyEvent.VK_O, KeyEvent.VK_P,
       KeyEvent.VK_A };
   for (int i = 0, n = titles.length; i < n; i++) {
     add(tabbedPane, titles[i], mnemonic[i]);
   }
   tabbedPane.removeAll();
   frame.add(tabbedPane, BorderLayout.CENTER);
   frame.setSize(400, 150);
   frame.setVisible(true);
 }

}

 </source>
   
  
 
  



JTabbedPane: remove(Component component)

   <source lang="java">

import javax.swing.JButton; import javax.swing.JTabbedPane; public class Main {

 public static void main(String[] argv) throws Exception {
   JTabbedPane pane = new JTabbedPane();
   JButton component = new JButton("button");
   // Remove the last tab
   pane.remove(pane.getTabCount() - 1);
   // Remove the tab with the specified child component
   pane.remove(component);
   // Remove all the tabs
   pane.removeAll();
 }

}

 </source>
   
  
 
  



JTabbedPane: removeTabAt(int index)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTabbedPane; public class Main {

 private JFrame frame = new JFrame();
 private JTabbedPane tabbedPane = new JTabbedPane();
 private JButton addTabButton = new JButton("Add Tab");
 private ImageIcon closeXIcon = new ImageIcon("C:/CloseX.gif");
 private Dimension closeButtonSize;
 private int tabCounter = 0;
 public Main() {
   addTabButton.addActionListener(new ActionListener(){
     public void actionPerformed(ActionEvent e){
       add();
     }
   });
   closeButtonSize = new Dimension(closeXIcon.getIconWidth() + 2, closeXIcon.getIconHeight() + 2);
   frame.add(tabbedPane, BorderLayout.CENTER);
   frame.add(addTabButton, BorderLayout.SOUTH);
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.pack();
   frame.setMinimumSize(new Dimension(300, 300));
   frame.setVisible(true);
 }
 public void add() {
   final JPanel content = new JPanel();
   JPanel tab = new JPanel();
   tab.setOpaque(false);
   JLabel tabLabel = new JLabel("Tab " + (++tabCounter));
   JButton tabCloseButton = new JButton(closeXIcon);
   tabCloseButton.setPreferredSize(closeButtonSize);
   tabCloseButton.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent e) {
       int closeTabNumber = tabbedPane.indexOfComponent(content);
       tabbedPane.removeTabAt(closeTabNumber);
     }
   });
   tab.add(tabLabel, BorderLayout.WEST);
   tab.add(tabCloseButton, BorderLayout.EAST);
   tabbedPane.addTab(null, content);
   tabbedPane.setTabComponentAt(tabbedPane.getTabCount() - 1, tab);
 }
 public static void main(String[] args) {
   Main main = new Main();
 }

}

 </source>
   
  
 
  



JTabbedPane.SCROLL_TAB_LAYOUT

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.KeyEvent; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTabbedPane; public class Main {

 static void add(JTabbedPane tabbedPane, String label, int mnemonic) {
   int count = tabbedPane.getTabCount();
   JButton button = new JButton(label);
   tabbedPane.addTab(label, new ImageIcon("yourFile.gif"), button, label);
   tabbedPane.setMnemonicAt(count, mnemonic);
 }
 public static void main(String args[]) {
   JFrame frame = new JFrame("Tabbed Pane Sample");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTabbedPane tabbedPane = new JTabbedPane();
   tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
   String titles[] = { "General", "Security", "Content", "Connection", "Programs", "Advanced" };
   int mnemonic[] = { KeyEvent.VK_G, KeyEvent.VK_S, KeyEvent.VK_C, KeyEvent.VK_O, KeyEvent.VK_P,
       KeyEvent.VK_A };
   for (int i = 0, n = titles.length; i < n; i++) {
     add(tabbedPane, titles[i], mnemonic[i]);
   }
   tabbedPane.removeAll();
   frame.add(tabbedPane, BorderLayout.CENTER);
   frame.setSize(400, 150);
   frame.setVisible(true);
 }

}

 </source>
   
  
 
  



JTabbedPane: setBackgroundAt(int index, Color background)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.KeyEvent; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTabbedPane; public class Main {

 static Color colors[] = { Color.RED, Color.ORANGE, Color.YELLOW, Color.GREEN, Color.BLUE,
     Color.MAGENTA };
 static void add(JTabbedPane tabbedPane, String label, int mnemonic) {
   int count = tabbedPane.getTabCount();
   JButton button = new JButton(label);
   tabbedPane.addTab(label, new ImageIcon("yourFile.gif"), button, label);
   tabbedPane.setMnemonicAt(count, mnemonic);
 }
 public static void main(String args[]) {
   JFrame frame = new JFrame("Tabbed Pane Sample");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTabbedPane tabbedPane = new JTabbedPane();
   String titles[] = { "General", "Security", "Content", "Connection", "Programs", "Advanced" };
   int mnemonic[] = { KeyEvent.VK_G, KeyEvent.VK_S, KeyEvent.VK_C, KeyEvent.VK_O, KeyEvent.VK_P,
       KeyEvent.VK_A };
   for (int i = 0, n = titles.length; i < n; i++) {
     add(tabbedPane, titles[i], mnemonic[i]);
     tabbedPane.setBackgroundAt(i,colors[i]);
   }
   frame.add(tabbedPane, BorderLayout.CENTER);
   frame.setSize(400, 150);
   frame.setVisible(true);
 }

}

 </source>
   
  
 
  



JTabbedPane: setDisabledIconAt(int index, Icon disabledIcon)

   <source lang="java">

import java.awt.Color; import java.awt.ruponent; import javax.swing.Icon; import javax.swing.JTabbedPane; public class Main {

 public static void main(String[] argv) throws Exception {
   JTabbedPane pane = new JTabbedPane();
   int src = pane.getTabCount() - 1;
   int dst = 0;
   Component comp = pane.getComponentAt(src);
   String label = pane.getTitleAt(src);
   Icon icon = pane.getIconAt(src);
   Icon iconDis = pane.getDisabledIconAt(src);
   String tooltip = pane.getToolTipTextAt(src);
   boolean enabled = pane.isEnabledAt(src);
   int keycode = pane.getMnemonicAt(src);
   int mnemonicLoc = pane.getDisplayedMnemonicIndexAt(src);
   Color fg = pane.getForegroundAt(src);
   Color bg = pane.getBackgroundAt(src);
   pane.remove(src);
   pane.insertTab(label, icon, comp, tooltip, dst);
   pane.setDisabledIconAt(dst, iconDis);
   pane.setEnabledAt(dst, enabled);
   pane.setMnemonicAt(dst, keycode);
   pane.setDisplayedMnemonicIndexAt(dst, mnemonicLoc);
   pane.setForegroundAt(dst, fg);
   pane.setBackgroundAt(dst, bg);
 }

}

 </source>
   
  
 
  



JTabbedPane: setDisplayedMnemonicIndexAt(int tabIndex, int mnemonicIndex)

   <source lang="java">

import java.awt.Color; import java.awt.ruponent; import javax.swing.Icon; import javax.swing.JTabbedPane; public class Main {

 public static void main(String[] argv) throws Exception {
   JTabbedPane pane = new JTabbedPane();
   int src = pane.getTabCount() - 1;
   int dst = 0;
   Component comp = pane.getComponentAt(src);
   String label = pane.getTitleAt(src);
   Icon icon = pane.getIconAt(src);
   Icon iconDis = pane.getDisabledIconAt(src);
   String tooltip = pane.getToolTipTextAt(src);
   boolean enabled = pane.isEnabledAt(src);
   int keycode = pane.getMnemonicAt(src);
   int mnemonicLoc = pane.getDisplayedMnemonicIndexAt(src);
   Color fg = pane.getForegroundAt(src);
   Color bg = pane.getBackgroundAt(src);
   pane.remove(src);
   pane.insertTab(label, icon, comp, tooltip, dst);
   pane.setDisabledIconAt(dst, iconDis);
   pane.setEnabledAt(dst, enabled);
   pane.setMnemonicAt(dst, keycode);
   pane.setDisplayedMnemonicIndexAt(dst, mnemonicLoc);
   pane.setForegroundAt(dst, fg);
   pane.setBackgroundAt(dst, bg);
 }

}

 </source>
   
  
 
  



JTabbedPane: setEnabledAt(int index, boolean enabled)

   <source lang="java">

import javax.swing.JButton; import javax.swing.JTabbedPane; public class Main {

 public static void main(String[] argv) throws Exception {
   JTabbedPane pane = new JTabbedPane();
   pane.addTab("Tab Label", new JButton("Button"));
   // Get index of the new tab
   int index = pane.getTabCount() - 1;
   // Determine whether the tab is enabled
   boolean enabled = pane.isEnabledAt(index);
   // Disable the tab
   pane.setEnabledAt(index, false);
 }

}

 </source>
   
  
 
  



JTabbedPane: setForegroundAt(int index, Color foreground)

   <source lang="java">

import java.awt.Color; import javax.swing.JButton; import javax.swing.JTabbedPane; public class Main {

 public static void main(String[] argv) throws Exception {
   JTabbedPane pane = new JTabbedPane();
   pane.setForeground(Color.YELLOW);
   pane.setBackground(Color.MAGENTA);
   String label = "Tab Label";
   pane.addTab(label, new JButton("Button"));
   int index = pane.getTabCount() - 1;
   pane.setForegroundAt(index, Color.ORANGE);
   pane.setBackgroundAt(index, Color.GREEN);
 }

}

 </source>
   
  
 
  



JTabbedPane: setMnemonicAt(int tabIndex, int mnemonic)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.KeyEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTabbedPane; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class MainClass {

 public static void main(String args[]) throws Exception {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTabbedPane tabbedPane = new JTabbedPane();
   tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
   String titles[] = { "A", "B", "C", "D", "E", "F" };
   int mnemonic[] = { KeyEvent.VK_A, KeyEvent.VK_B, KeyEvent.VK_C, KeyEvent.VK_D, KeyEvent.VK_E,
       KeyEvent.VK_F };
   for (int i = 0, n = titles.length; i < n; i++) {
     add(tabbedPane, titles[i], mnemonic[i]);
   }
   ChangeListener changeListener = new ChangeListener() {
     public void stateChanged(ChangeEvent changeEvent) {
       JTabbedPane sourceTabbedPane = (JTabbedPane) changeEvent.getSource();
       int index = sourceTabbedPane.getSelectedIndex();
       System.out.println("Tab changed to: " + sourceTabbedPane.getTitleAt(index));
     }
   };
   tabbedPane.addChangeListener(changeListener);
   frame.add(tabbedPane, BorderLayout.CENTER);
   frame.setSize(400, 150);
   frame.setVisible(true);
 }
 static void add(JTabbedPane tabbedPane, String label, int mnemonic) {
   int count = tabbedPane.getTabCount();
   JButton button = new JButton(label);
   tabbedPane.addTab(label, button);
   tabbedPane.setMnemonicAt(count, mnemonic);
 }

}


 </source>
   
  
 
  



JTabbedPane: setSelectedIndex(int index)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JEditorPane; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTabbedPane; public class Main extends JFrame {

 private JTabbedPane tp;
 private int tabCounter = 0;
 public Main() {
   super("Browser");
   setDefaultCloseOperation(EXIT_ON_CLOSE);
   JMenuBar mb = new JMenuBar();
   JMenu mFile = new JMenu("File");
   JMenuItem mi = new JMenuItem("Add Tab");
   ActionListener addTabl = new ActionListener() {
     public void actionPerformed(ActionEvent e) {
       addTab();
     }
   };
   mi.addActionListener(addTabl);
   mFile.add(mi);
   mb.add(mFile);
   setJMenuBar(mb);
   JPanel pnlURL = new JPanel();
   tp = new JTabbedPane();
   addTab();
   add(tp, BorderLayout.CENTER);
   setSize(300, 300);
   setVisible(true);
 }
 void addTab() {
   JEditorPane ep = new JEditorPane();
   ep.setEditable(false);
   tp.addTab(null, new JScrollPane(ep));
   JButton tabCloseButton = new JButton("Close");
   tabCloseButton.setActionCommand("" + tabCounter);
   ActionListener al;
   al = new ActionListener() {
     public void actionPerformed(ActionEvent ae) {
       JButton btn = (JButton) ae.getSource();
       String s1 = btn.getActionCommand();
       for (int i = 1; i < tp.getTabCount(); i++) {
         JPanel pnl = (JPanel) tp.getTabComponentAt(i);
         btn = (JButton) pnl.getComponent(0);
         String s2 = btn.getActionCommand();
         if (s1.equals(s2)) {
           tp.removeTabAt(i);
           break;
         }
       }
     }
   };
   tabCloseButton.addActionListener(al);
   if (tabCounter != 0) {
     JPanel pnl = new JPanel();
     pnl.setOpaque(false);
     pnl.add(tabCloseButton);
     tp.setTabComponentAt(tp.getTabCount() - 1, pnl);
     tp.setSelectedIndex(tp.getTabCount() - 1);
   }
   tabCounter++;
 }
 public static void main(String[] args) {
   new Main();
 }

}

 </source>
   
  
 
  



JTabbedPane: setTabComponentAt(int index, Component component)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTabbedPane; public class Main {

 private JFrame frame = new JFrame();
 private JTabbedPane tabbedPane = new JTabbedPane();
 private JButton addTabButton = new JButton("Add Tab");
 private ImageIcon closeXIcon = new ImageIcon("C:/CloseX.gif");
 private Dimension closeButtonSize;
 private int tabCounter = 0;
 public Main() {
   addTabButton.addActionListener(new ActionListener(){
     public void actionPerformed(ActionEvent e){
       add();
     }
   });
   closeButtonSize = new Dimension(closeXIcon.getIconWidth() + 2, closeXIcon.getIconHeight() + 2);
   frame.add(tabbedPane, BorderLayout.CENTER);
   frame.add(addTabButton, BorderLayout.SOUTH);
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.pack();
   frame.setMinimumSize(new Dimension(300, 300));
   frame.setVisible(true);
 }
 public void add() {
   final JPanel content = new JPanel();
   JPanel tab = new JPanel();
   tab.setOpaque(false);
   JLabel tabLabel = new JLabel("Tab " + (++tabCounter));
   JButton tabCloseButton = new JButton(closeXIcon);
   tabCloseButton.setPreferredSize(closeButtonSize);
   tabCloseButton.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent e) {
       int closeTabNumber = tabbedPane.indexOfComponent(content);
       tabbedPane.removeTabAt(closeTabNumber);
     }
   });
   tab.add(tabLabel, BorderLayout.WEST);
   tab.add(tabCloseButton, BorderLayout.EAST);
   tabbedPane.addTab(null, content);
   tabbedPane.setTabComponentAt(tabbedPane.getTabCount() - 1, tab);
 }
 public static void main(String[] args) {
   Main main = new Main();
 }

}

 </source>
   
  
 
  



JTabbedPane: setTabLayoutPolicy(int tabLayoutPolicy)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.KeyEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTabbedPane; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class MainClass {

 public static void main(String args[]) throws Exception {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTabbedPane tabbedPane = new JTabbedPane();
   tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
   String titles[] = { "A", "B", "C", "D", "E", "F" };
   int mnemonic[] = { KeyEvent.VK_A, KeyEvent.VK_B, KeyEvent.VK_C, KeyEvent.VK_D, KeyEvent.VK_E,
       KeyEvent.VK_F };
   for (int i = 0, n = titles.length; i < n; i++) {
     add(tabbedPane, titles[i], mnemonic[i]);
   }
   ChangeListener changeListener = new ChangeListener() {
     public void stateChanged(ChangeEvent changeEvent) {
       JTabbedPane sourceTabbedPane = (JTabbedPane) changeEvent.getSource();
       int index = sourceTabbedPane.getSelectedIndex();
       System.out.println("Tab changed to: " + sourceTabbedPane.getTitleAt(index));
     }
   };
   tabbedPane.addChangeListener(changeListener);
   frame.add(tabbedPane, BorderLayout.CENTER);
   frame.setSize(400, 150);
   frame.setVisible(true);
 }
 static void add(JTabbedPane tabbedPane, String label, int mnemonic) {
   int count = tabbedPane.getTabCount();
   JButton button = new JButton(label);
   tabbedPane.addTab(label, button);
   tabbedPane.setMnemonicAt(count, mnemonic);
 }

}


 </source>
   
  
 
  



JTabbedPane: setTabPlacement(int tabPlacement)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.KeyEvent; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTabbedPane; public class Main {

 static void add(JTabbedPane tabbedPane, String label, int mnemonic) {
   int count = tabbedPane.getTabCount();
   JButton button = new JButton(label);
   tabbedPane.addTab(label, new ImageIcon("yourFile.gif"), button, label);
   tabbedPane.setMnemonicAt(count, mnemonic);
 }
 public static void main(String args[]) {
   JFrame frame = new JFrame("Tabbed Pane Sample");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTabbedPane tabbedPane = new JTabbedPane();
   String titles[] = { "General", "Security", "Content", "Connection", "Programs", "Advanced" };
   int mnemonic[] = { KeyEvent.VK_G, KeyEvent.VK_S, KeyEvent.VK_C, KeyEvent.VK_O, KeyEvent.VK_P,
       KeyEvent.VK_A };
   for (int i = 0, n = titles.length; i < n; i++) {
     add(tabbedPane, titles[i], mnemonic[i]);
   }
   tabbedPane.setTabPlacement(JTabbedPane.BOTTOM);
   frame.add(tabbedPane, BorderLayout.CENTER);
   frame.setSize(400, 150);
   frame.setVisible(true);
 }

}

 </source>
   
  
 
  



JTabbedPane: setToolTipTextAt(int index, String toolTipText)

   <source lang="java">

import javax.swing.JButton; import javax.swing.JTabbedPane; public class Main {

 public static void main(String[] argv) throws Exception {
   JTabbedPane pane = new JTabbedPane();
   String label = "Tab Label";
   String tooltip = "Tool Tip Text";
   pane.addTab(label, null, new JButton("Button"), tooltip);
   int index = pane.getTabCount() - 1;
   tooltip = pane.getToolTipTextAt(index);
   tooltip = "New Tool Tip Text";
   pane.setToolTipTextAt(index, tooltip);
 }

}

 </source>