论坛首页 Java企业应用论坛

swing开发的系统

浏览 39719 次
精华帖 (10) :: 良好帖 (4) :: 新手帖 (0) :: 隐藏帖 (5)
作者 正文
   发表时间:2010-04-24  
wxq594808632 写道
我一直想实现一个自定义标题栏。。但是困难重重。不是楼上两位谁有心得体会写写教程。。。

是JFrame的标题栏吗?JFrame有setUndecorated,setDefaultLookAndFeelDecorated这些方法。
0 请登录后投票
   发表时间:2010-04-25  
灰常不错。。。
0 请登录后投票
   发表时间:2010-04-26  
wxq594808632 写道
我一直想实现一个自定义标题栏。。但是困难重重。不是楼上两位谁有心得体会写写教程。。。


试下这个

firePropertyChange(JInternalFrame.TITLE_PROPERTY, oldTitle, newTitle);
0 请登录后投票
   发表时间:2010-04-26   最后修改:2010-04-26
dxiao2 写道
wxq594808632 写道
我一直想实现一个自定义标题栏。。但是困难重重。不是楼上两位谁有心得体会写写教程。。。


试下这个

firePropertyChange(JInternalFrame.TITLE_PROPERTY, oldTitle, newTitle);


这个只是修改标题吧。
实际上需要从下边几个地方入手:
1、在LookAndFeel类中设置 RootPaneUI类,即标题头的外观类,而外观需要自己实现,例如该
public class MeLookAndFeel extends MetalLookAndFeel最好不要从WindowsLookAndFeel派生,因为这样的话自己的外观的头还是使用了xp的头。然后在该MeLookAndFeeL中protected void initClassDefaults(UIDefaults table)方法
中设定 "RootPaneUI", MeRootPaneUI.class.getName()

2,public class MeRootPaneUI extends BasicRootPaneUI
MeRootPaneUI 外观派生自BasicRootPaneUI。在该ui中的方法 public void installUI(JComponent c)中
为JRootPane root添加修饰,例如我们可以从JComponent来作为头,即自定义的头。在该JComponent中,你怎么画
你的头都可以,如何放置关闭,最大化,最小化等按钮等。然后
JLayeredPane layeredPane = root.getLayeredPane();
BaseTitlePane oldTitlePane = getTitlePane();//返回自定义的头的修饰类JCOmponent。
layeredPane.add(titlePane, JLayeredPane.FRAME_CONTENT_LAYER);//添加


下边是一个实现的效果,最大化,最小化,关闭图片从qq2010上剪下来的,其他的是自己用java2D来
画出来的。不够美观,没有美术功底啊,PS也是一知半解。




  • 大小: 4.4 KB
0 请登录后投票
   发表时间:2010-04-26  
wxq594808632 写道
我一直想实现一个自定义标题栏。。但是困难重重。不是楼上两位谁有心得体会写写教程。。。

最好找一个开源的外观包,研究一下外观,其实这些界面的东西大部分都是有外观来实现的,
控件及窗口都是给用户设置是否可见,标题,可用,,至于说可见,标题,是否不可用,怎么画,还是有外观来决定的。
所以想做一个好的UI就要研究LAF。
当然对于简单的例如自定义的按钮,覆盖Paint方法即可。但是比较系统,负责的就不行。
0 请登录后投票
   发表时间:2010-04-28  
受教了。忙过这段时间好好研究下。
0 请登录后投票
   发表时间:2010-05-04  
楼主能具体说一下你的树表的层次渲染是怎么做的?谢谢,就是那个树的渲染如何做出来的。
我的邮箱:qin51@126.com
0 请登录后投票
   发表时间:2010-05-27  
用的啥皮肤啊?看着很舒服。。。
0 请登录后投票
   发表时间:2010-05-27  
know about the function is more important than implement
0 请登录后投票
   发表时间:2010-06-17  
用swing做db前端应用是很痛苦的。只是显示倒还没什么。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics