当所有选项卡无法一次性全部显示时,如何在 Java 中将 TabLayout Policy 设置为 JTabbedPane
java 8object oriented programmingprogramming更新于 2025/8/29 2:20:17
当所有选项卡无法一次性全部显示时,如何在 Java 中将 TabLayout Policy 设置为 JTabbedPane,请使用方法 setTabLayoutPolicy() −
JTabbedPane tabbedPane = new JTabbedPane(); tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
上面我们将常量设置为 SCROLL_TAB_LAYOUT,这是一个选项卡布局策略,用于在所有选项卡无法一次性全部显示时提供可用选项卡的子集。
下面是一个例子 −
package my;
import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
public class SwingDemo {
public static void main(String args[]) {
JFrame frame = new JFrame("Devices");
JTabbedPane tabbedPane = new JTabbedPane();
JPanel panel1, panel2, panel3, panel4, panel5, panel6, panel7, panel8;
panel1 = new JPanel();
panel2 = new JPanel();
panel3 = new JPanel();
panel4 = new JPanel();
panel5 = new JPanel();
panel6 = new JPanel();
panel7 = new JPanel();
panel8 = new JPanel();
tabbedPane.setBackground(Color.blue);
tabbedPane.setForeground(Color.white);
tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
tabbedPane.addTab("Laptop", panel1);
tabbedPane.addTab("Desktop ", panel2);
tabbedPane.addTab("Notebook", panel3);
tabbedPane.addTab("Echo ", panel4);
tabbedPane.addTab("Tablet", panel5);
tabbedPane.addTab("Alexa ", panel6);
tabbedPane.addTab("Notebook", panel7);
tabbedPane.addTab("iPad", panel8);
frame.add(tabbedPane);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500,350);
frame.setVisible(true);
}
}
输出如下。现在您可以看到所有选项卡都无法容纳,因此右侧会显示一个导航栏,用于显示所有其他选项卡 −

现在,当您点击右侧导航栏时,所有其他选项卡都将可见 −


