当所有选项卡无法一次性全部显示时,如何在 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);
   }
}

输出如下。现在您可以看到所有选项卡都无法容纳,因此右侧会显示一个导航栏,用于显示所有其他选项卡 −

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


相关文章