Javaswing选项卡

Javaswing选项卡,第1张

参考代码

import javax.swing.*

import java.awt.*

public class DemoFrame extends JFrame {

private JTabbedPane tpp

public DemoFrame() {

tpp = new JTabbedPane(JTabbedPane.LEFT) //指定JTabbedPane靠左

JPanel jp1 = new JPanel()

jp1.setBackground(Color.YELLOW)

tpp.add("TabLevel # 1", jp1)

JPanel jp2 = new JPanel()

jp2.setBackground(Color.RED)

tpp.add("TabLevel # 2", jp2)

add(tpp)

setTitle("JTabbedPane Nested Demonstration")

setSize(new Dimension(600, 500))

setLocationRelativeTo(null)

setDefaultCloseOperation(EXIT_ON_CLOSE)

}

public static void main(String[] args) {

DemoFrame main = new DemoFrame()

main.setVisible(true)

}

}

拓展和思考: 

关于修改选项卡之间的距离,增加特效等, 在java swing里 其实自定义组件的外观,一般是继承BasicXxxUI 来实现 .

如果想要实现一些特殊的效果, 也可以自己使用按钮, 标签,面板 等 自己模拟一个 选项卡 .

例如 下面的组件, 就是自己做的一个选项卡的效果, 使用按钮来实现, 当鼠标移动到按钮上时, 按钮变黄. 移开时恢复按钮的初始外观. 当按钮被点击时, 按钮变成白色.  始终只能有一个按钮处于被选中状态. 根据选中按钮的不同, 来展示不同的面板.

又比如下面的选项卡, 是 JPanel 里放入图片和文字 来进行模仿的

swing没有带关闭按钮的选项卡,swing的选项卡组件为JTabbedPane,是不带关闭按钮的,要实现带关闭按钮的选项卡,最直接的方法是重写JTabbedPane的UI,其次也可以用组件组合的方式来模拟选项卡页面,然后用卡片式布局来设置这些选项页面的切换关系

extjs中通过监听sidebarchange事件来收缩左侧菜单的。

1.在新增选项卡中配置一个自定义属性sidebarChange,默认值为false,用于保存左边导航菜单是否发生展开收缩动作。

2.在新增的选项卡中添加activate监听事件,当选项卡被激活且sidebarChange属性值为true时,则通过tab.loader.load()重新加载选项卡内容。

3.在左边功能导航面板中配置相应的展开和收缩事件的监听。及相应的处理方法。

这样,当左边功能导航面板收缩或展开时,当前的选项卡会重新加载。

4.至此,当左边导航面板收缩或展开时,就解决了gridpanel宽度不跟着自动变化问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11853631.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存