高级组件——选项卡面板JTabbedPane

选项卡面板:
JTabbedPane(标签位置,布局方式)
标签位置:JTabbedPane.TOP,JTabbedPane.BOTTOM,JTabbedPane.LEFT,JTabbedPane.RIGHT
布局方式:限制布局JTabbedPane.WRAP_TAB_LAYOUT,滚动布局JTabbedPane.SCROLL_TAB_LAYOUT
这两个参数也可以单独设置:setTabPlacement标签位置,setTabLayoutPolicy布局方式
添加选项卡(标签):
tabP.addTab("标签名", 内容控件);

    

import javax.swing.*;
import java.awt.*;

public class Demo extends JFrame {
    JTabbedPane tabP;//选项卡面板

    public Demo() {
        setTitle("选项卡面板");
        setBounds(100, 100, 300, 200);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        Container c = getContentPane();
        //tabP = new JTabbedPane(JTabbedPane.TOP, JTabbedPane.WRAP_TAB_LAYOUT);//限定布局
        tabP=new JTabbedPane(JTabbedPane.TOP,JTabbedPane.SCROLL_TAB_LAYOUT);//滚动布局
        c.add(tabP,BorderLayout.CENTER);//位于边界布局的中部
        tabbedPaneInit();//初始化选项卡面板
    }
    
    public static void main(String[] args) {
        Demo frame = new Demo();
        frame.setVisible(true);
    }

    private void tabbedPaneInit() {//选项卡面板初始化
        JLabel label1 = new JLabel("我是标签一的内容");
        tabP.addTab("标签一", label1);
        JLabel label2 = new JLabel("我是标签二的内容");
        tabP.addTab("标签二", label2);
        JLabel label3 = new JLabel("我是标签三的内容");
        tabP.addTab("标签三", label3);
    }
}

 

转载于:https://www.cnblogs.com/xixixing/p/9756416.html

Java Swing库中,你可以创建一个窗口程序,其中包含一个`JTabbedPane`用于管理多个选项卡。下面是一个简单的示例,展示如何设置初始选中的选项卡、标题图标、文本以及悬停提示: ```java import javax.swing.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; public class TabbedPaneExample extends JFrame { private JTabbedPane tabbedPane; public TabbedPaneExample() { // 初始化窗口 setTitle("选项卡面板示例"); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 创建并初始化JTabbedPane tabbedPane = new JTabbedPane(); // 创建三个选项卡 JPanel tabPageA = createPanel("选项卡A", "icon_a.png"); // 假设icon_a.png是图标文件路径 JPanel tabPageB = createPanel("选项卡B", "icon_b.png"); JPanel tabPageC = createPanel("选项卡C", "icon_c.png"); // 设置为默认选中 tabbedPane.add(tabPageA, "选项卡A"); tabbedPane.add(tabPageB, "选项卡B"); tabbedPane.add(tabPaneC, "选项卡C"); // 设置提示信息 tabbedPane.addMouseListener(new MouseAdapter() { @Override public void mouseEntered(MouseEvent e) { String tipText = (String) tabbedPane.getTitleAt(tabbedPane.getLeadIndex()); Toolkit.getDefaultToolkit().beep(); // 鼠标悬停时响铃作为提示 JOptionPane.showMessageDialog(null, "您已将鼠标悬停在:" + tipText); } }); // 将JTabbedPane添加到窗口内容 setContentPane(tabbedPane); setVisible(true); } private JPanel createPanel(String title, String iconPath) { JPanel panel = new JPanel(); JLabel titleLabel = new JLabel(title); titleLabel.setIcon(new ImageIcon(iconPath)); // 设置图标 // 添加标签组件或其他需要的内容... // 这里仅示例标签组件 JLabel label = new JLabel("这是选项卡内的内容..."); panel.add(titleLabel); panel.add(label); return panel; } // 主函数入口 public static void main(String[] args) { EventQueue.invokeLater(() -> new TabbedPaneExample()); } } ``` 在这个例子中,我们首先创建了一个`JFrame`窗口,然后创建了`JTabbedPane`对象。给每个选项卡创建一个对应的`JPanel`,设置了图标和文本。为了在鼠标悬停时显示提示,我们添加了一个鼠标进入事件处理器。 注意:这个代码假设你已经有了图标文件(如`icon_a.png`, `icon_b.png`, 和 `icon_c.png`)。实际运行时,你需要替换这些路径为你实际的图标文件位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值