2012-01-10 8 views
0

に二重のラインを作ることができますどのように私は私のタイトルはありませんどのくらいの意味のよく分からないが、あなたは、これは私は私が実際に、思い付いた最高だったやや良いタイトルの持っていると仮定しているので、意味私はJTabbedPaneの

が、私は10個のタブを持っているのは、理論的に言ってみましょう、と代わりにそれらすべてを1行にまとめて圧縮したの私は2でそれらを分割したいのですが、私は上の5つのタブを持っていると思います...です上側は5、下側は5である。 例のPIC:A image of what I tried to explain above

答えて

2

あなたの質問をクリアするが、JTabbedPaneの

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.ActionListener; 
import java.awt.event.ActionEvent; 
import java.awt.event.InputEvent; 
import java.awt.event.KeyEvent; 

public class TabComponentsDemo extends JFrame { 

    private static final long serialVersionUID = 1L; 
    private final int tabNumber = 15; 
    private final JTabbedPane pane = new JTabbedPane(); 
    private JMenuItem tabComponentsItem; 
    private JMenuItem scrollLayoutItem; 

    public TabComponentsDemo(String title) { 
     super(title); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     initMenu(); 
     add(pane); 
    } 

    public void runTest() { 
     pane.removeAll(); 
     for (int i = 0; i < tabNumber; i++) { 
      String title = "Tab " + i; 
      pane.add(title, new JLabel(title)); 
      //initTabComponent(i); 
     } 
     tabComponentsItem.setSelected(true); 
     pane.setTabLayoutPolicy(JTabbedPane.WRAP_TAB_LAYOUT); 
     scrollLayoutItem.setSelected(false); 
     setSize(new Dimension(400, 200)); 
     setLocationRelativeTo(null); 
     setVisible(true); 
    } 

    /*private void initTabComponent(int i) { 
    pane.setTabComponentAt(i, new ButtonTabComponent(pane)); 
    }*/ 
    private void initMenu() {//Setting menu 
     JMenuBar menuBar = new JMenuBar();//create Options menu   
     tabComponentsItem = new JCheckBoxMenuItem("Use TabComponents", true); 
     tabComponentsItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.ALT_MASK)); 
     tabComponentsItem.addActionListener(new ActionListener() { 

      @Override 
      public void actionPerformed(ActionEvent e) { 
       for (int i = 0; i < pane.getTabCount(); i++) { 
        if (tabComponentsItem.isSelected()) { 
         //initTabComponent(i); 
        } else { 
         pane.setTabComponentAt(i, null); 
        } 
       } 
      } 
     }); 
     scrollLayoutItem = new JCheckBoxMenuItem("Set ScrollLayout"); 
     scrollLayoutItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.ALT_MASK)); 
     scrollLayoutItem.addActionListener(new ActionListener() { 

      @Override 
      public void actionPerformed(ActionEvent e) { 
       if (pane.getTabLayoutPolicy() == JTabbedPane.WRAP_TAB_LAYOUT) { 
        pane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT); 
       } else { 
        pane.setTabLayoutPolicy(JTabbedPane.WRAP_TAB_LAYOUT); 
       } 
      } 
     }); 
     JMenuItem resetItem = new JMenuItem("Reset JTabbedPane"); 
     resetItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, InputEvent.ALT_MASK)); 
     resetItem.addActionListener(new ActionListener() { 

      @Override 
      public void actionPerformed(ActionEvent e) { 
       runTest(); 
      } 
     }); 
     JMenu optionsMenu = new JMenu("Options"); 
     optionsMenu.add(tabComponentsItem); 
     optionsMenu.add(scrollLayoutItem); 
     optionsMenu.add(resetItem); 
     menuBar.add(optionsMenu); 
     setJMenuBar(menuBar); 
    } 

    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new Runnable() { 

      @Override 
      public void run() { 
       UIManager.put("swing.boldMetal", Boolean.FALSE); 
       new TabComponentsDemo("TabComponentsDemo").runTest(); 
      } 
     }); 
    } 
} 
のタブのための基本的な方法がありません
2

は、あなたがそれら(私はあなたの説明の後半部分が...何を示すかだと思う)一列に表示されているすべてをしたい場合は、あなたはJTabbedPane.SCROLL_TAB_LAYOUTにタブレイアウトポリシーを設定することをお勧めします。ここで

は、画像とexampleです。

関連する問題