当所有选项卡不能位于单次运行中时,如何在 Java 中将 TabLayout 策略设置到 JTabbedPane 中


若要在所有选项卡无法在一个运转中容纳时将 TabLayout 策略设置到 Java 中的 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);
   }
}

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

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

更新于: 2019 年 7 月 30 日

316 次浏览

开启你的 职业生涯

完成课程认证

开始
广告