07 2013 档案

摘要:最近新接触的两个Layout,另外之前用的GridBagLayoutHelper以及最近听说的Qt for java的QCSS据说也不错,只是Qt的跨平台需要单独发布,假如使用QT for java,可能需要考了如何跨平台。TableLayout: double size[][] = { { TableLayout.FILL, 28, 28, 28, 9 }, { 10, 27, 8 } }; // cols widths, rows heights TableLayout layout = new TableLayout(size); getCont... 阅读全文
posted @ 2013-07-22 12:14 wangchao719 阅读(539) 评论(0) 推荐(0)
摘要:最近研究了很久这个问题,从LookAndFeel到继承JPopupMenu或者JMenu都搞不定。其实替换背景的话,只要在JMenuUI中设置Opaque(false) 再将背景设置透明就可以看到PopupMenu的背景了,然后再在PopupMenuUI中将popupmenu和parent都设置成Opaque就可以做透明背景了,但是位置不对啊!!!因为我会在按钮的四周添加阴影,JMenuItem浮在阴影上很难受有木有。这个问题纠结了我大概几天的样子。在追查JPopupMenu的构建,布局的折腾过程中,终于发现了一线曙光,虽然不能替换JMenu的JPopupMenu对象,但是可以通过在MenuU 阅读全文
posted @ 2013-07-15 18:14 wangchao719 阅读(902) 评论(0) 推荐(0)
摘要:首先,参考了一下这篇文章里面提到需要自己Override L&F的initClassDefaults方法,但是查看了一下NimbusLookAndFeel,发现它为了没有实现initClassDefaults方法,而是修改了调用initClassDefaults的getDefaults方法。另外在构造L&F的时候,要求每个类似BasicMenuUI的类中需要有个createUI的方法够在UI,后面会被UIManager使用反射进行invoke,很奇怪的是这里为什么不使用继承来规定这个函数 阅读全文
posted @ 2013-07-10 11:28 wangchao719 阅读(208) 评论(0) 推荐(0)
摘要:首先jdk的setExtendedState是有bug的,需要先重载JFrame的setExtendedState方法 /** * Fix the bug "jframe undecorated cover taskbar when maximized". See: * http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4737788 * * @param state */ @Override public void setExtendedState(int state) { ... 阅读全文
posted @ 2013-07-05 16:13 wangchao719 阅读(3210) 评论(0) 推荐(1)
摘要:如果没有内容,JLabel默认透明就无法作为点击区域了,所以为了让其可以响应鼠标事件需要设置setOpaque(true)这样就可以响应鼠标事件了(吐槽一下,多年以前在大学做个web地图导航的网站,当时使用了各种hack才搞定让透明div响应点击事件,同时深深的认为web设计者不能让热点响应事件简直太蛋疼了) 阅读全文
posted @ 2013-07-04 17:45 wangchao719 阅读(174) 评论(0) 推荐(0)
摘要:设置了setRollover,可以正常出现状态但是却不会回到默认状态。研究了一下才发现,repaint的时候不会清除背板而是覆盖上去的,所以如果原图是透明图就会出现状态不变的情况 阅读全文
posted @ 2013-07-03 14:58 wangchao719 阅读(256) 评论(0) 推荐(0)