swing学习 - GlassPanel学习

进来一直研究swing的内容,在看到jrootpanel的glasspanel的时候没有理解,今天看代码看到了这一部分,终于对于他的意义有所理解了。

rootpanel有GlassPanel和LayeredPanel组成,其中的LayeredPanel有位于地段的Menubar和下面的ContentPanel组成。

JRootPane 所使用的自定义 LayoutManager 可确保:

  1. glassPane 填充了 JRootPane 的整个可查看区域(边界 - insets)。
  2. layeredPane 填充了 JRootPane 的整个可查看区域。(边界 - insets)
  3. menuBar 位于 layeredPane 的上边缘。
  4. contentPane 填充了整个可查看区域,减去 menuBar(如果有)。

其中glassPane 位于所有窗格之上,以便能够截取鼠标移动。这样我们可以在dnd的过程中,在rootpanel中设定一个panel,这样就可以覆盖掉下面的所有的控件,等拖拽结束以后将glasspanel删除,其他的控件也就全部没有覆盖了,这样有什么好处呢,覆盖了以后,鼠标事件就完全被屏蔽了,避免以下不必要的鼠标监听处理,多有意义的事情啊。

 

这几天在开发一个office2007风格的界面,现在还没有成型了,上传一个图片,后续功能开发主要在属性面板,和制作可以拖拽和停靠在右边的窗口,先上传一个中间的产品。颜色和excel2007基本相同,因为直接是从他上面截取的颜色值。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值