Multiple rows are messy, right? So, wouldn't a scroll layout be better just like in the CCleaner? Fine, when you ask me Do i need to hack? I say, NO. There is a method, yes, here it is.
public void setTabLayoutPolicy(int policy);
This method takes either of these two values, SCROLL_TAB_LAYOUT and WRAP_TAB_LAYOUT which have 1 and 0 values respectively. The first one is what does the thing. Let us see it in action.
import javax.swing.*;
import java.awt.*;
class JTabbedPaneScroll extends JFrame
{
JTabbedPane t;
public JTabbedPaneScroll()
{
createAndShowGUI();
}
private void createAndShowGUI()
{
setTitle("JTabbedPane Scroll");
setSize(400,400);
t=new JTabbedPane();
for(int i=1;i<=10;i++){
JPanel p=new JPanel();
p.setBackground(new Color(i,i*8,i*4));
t.addTab("Tab "+i,p);
}
add(t);
// Now make it scrollable
// or you can call
t.setTabLayoutPolicy(1);
// t.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String args[])
{
new JTabbedPaneScroll();
}
}
The greatest compliment you can give me is when you share this with others. I sincerely appreciate it :)