You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java Swing JTabbedPane如何隐藏默认选中的Laptop标签?

解决JTabbedPane默认显示面板但隐藏对应标签的问题

直接用removeTabAt(0)会连Laptop对应的面板一起删除,导致无法显示内容。要实现默认显示Laptop面板、但隐藏该标签的效果,可用以下两种方法:

方法一:使用setVisibleAt隐藏标签

这个方法可以控制指定索引的标签是否在标签栏显示,对应的面板会被保留,且默认选中状态不受影响。

在tabbedPane.setSelectedIndex(0);之后添加一行代码:

tabbedPane.setVisibleAt(0, false);

运行后,标签栏仅显示Desktop和Notebook,程序默认展示Laptop的按钮面板,用户可正常切换到其他标签。

方法二:自定义空尺寸的标签组件

如果setVisibleAt在部分UI外观下不生效,可将Laptop的标签替换为一个没有尺寸的空组件:

tabbedPane.setSelectedIndex(0);
// 替换Laptop标签为无尺寸空组件,实现隐藏效果
tabbedPane.setTabComponentAt(0, new JLabel() {
    @Override
    public Dimension getPreferredSize() {
        return new Dimension(0, 0);
    }
});

修改后的完整代码示例(方法一)

package test;

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

public class JTabbedPanel {
    public static void main(String args[]) {
        JFrame frame = new JFrame("Devices");
        JTabbedPane tabbedPane = new JTabbedPane();
        JTextArea text = new JTextArea(100, 100);
        JPanel panel1, panel2, panel3;
        JButton button1 = new JButton("Press Me");
        button1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                System.out.println("It still works");
            }
        });
        panel1 = new JPanel();
        panel1.add(button1);
        panel2 = new JPanel();
        panel2.add(text);
        panel3 = new JPanel();

        tabbedPane.addTab("Laptop", panel1);
        tabbedPane.addTab("Desktop", panel2);
        tabbedPane.addTab("Notebook", panel3);
        tabbedPane.setSelectedIndex(0);
        
        // 隐藏Laptop标签,保留面板内容
        tabbedPane.setVisibleAt(0, false);

        frame.add(tabbedPane);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(550, 350);
        frame.setVisible(true);
    }
}

两种方法都不会移除Laptop面板,仅隐藏标签栏中的对应标签,完美满足需求。

内容的提问来源于stack exchange,提问作者kohada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 07:53:13