Swing中的特殊容器——JSplitPane和JTabledPane

Swing提供了一些具有特殊功能的容器,这些特殊容器可以用于创建一些更复杂的用户界面

1.使用JSplitPane

JSplitPane用于创建一个分割面板,它可以将一个组件(通常是一个容器)分割成两个部分,并提供一个分割条,用户可以拖动该分割条来调整两个部分的大小。

JSplitPane使用步骤:


 2.使用JTabledPane

JTabledPane可以很方便的在窗口上放置多个标签页,每个标签页相当于获得了一个与外部容器具有相同大小的组件摆放区域。

 

 代码演示:

package com.aynu.layout;

import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class JTabledPaneTest {

    JFrame jf = new JFrame("测试JTabledPane");

    //声明组件
    JTabbedPane tabbedPane =new JTabbedPane(SwingConstants.LEFT,JTabbedPane.SCROLL_TAB_LAYOUT);



    public void init(){
        //组装视图

        //添加标签
        tabbedPane.addTab("用户管理",new ImageIcon(""),new JList<String>(new String[]{"用户一","用户二","用户三"}));
        tabbedPane.addTab("商品管理",new JList<String>(new String[]{"商品一","商品二","商品三"}));
        tabbedPane.addTab("订单管理",new ImageIcon(""),new JList<String>(new String[]{"订单一","订单二","订单三","订单四"}));


        //完成设置
        tabbedPane.setEnabledAt(0,false);

        tabbedPane.setSelectedIndex(1);


        //监听当前标签面板的选中情况
        tabbedPane.addChangeListener(new ChangeListener() {
            @Override
            public void stateChanged(ChangeEvent e) {
                int selectedIndex = tabbedPane.getSelectedIndex();
                JOptionPane.showMessageDialog(jf,"当前选中了第"+(selectedIndex+1)+"个标签");
            }
        });

        jf.add(tabbedPane);

        //设置窗口的位置和大小
        jf.setBounds(400,400,400,400);

        //固定窗口大小
        jf.setResizable(false);



        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jf.pack();
        jf.setVisible(true);
    }

    public static void main(String[] args) {
        new JTabledPaneTest().init();
    }
}

jf.setBounds(400,400,400,400)设置的窗口大小没有作用,窗口的大小还是最佳大小

如果要修改窗口的大小需要注释掉 jf.pack(); 此行代码(此行代码的作用是将窗口调节至最佳大小)。

注释掉此行代码后在设置窗口的大小就可以设置成功了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iuiu啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值