评论

# re: swing专业外观

2007-11-07 19:10

BeanSoft

Well done, good work man! SWT and Swing all is GUI.  回复  更多评论

# re: swing专业外观

2007-11-07 19:28

William Chen

不错。

看到你说的九宫格原理,很有启发,我想能不能做一款可视化定制组件外观的工具。也就是可视化的定制Swing皮肤的工具。首先自定义一套灵活的皮肤,这种皮肤可以根据xml配置文件来改变外观。做一个可视化设计工具,来定制外观,产生xml配置结果,当然也可以写一个转换工具,基于那个灵活的皮肤,将xml配置生成一套皮肤外观。

我记得jre 5、6已经有一个所谓synthlookandfeel可以根据xml配置改变外观,但好像只能改变颜色,图片等简单的外观,不能使用Java2D的一些操作比如GradientPaint、画线、填充等进行扩充。

使用上面那个工具应该可以很容易的实现这种界面,你所作的就是对JButton、JLabel等标准组件,每一个定制一个外观。比如一个JButton,基本的JButton外观包括按下去、抬起来、rollover、获得焦点等几种情况的外观,每种外观又可以根据九宫格原理定制按钮边框,使用图片也好,使用简单Java2D元语言也好,总之让普通开发者,能使用这个工具可视化的定制一套皮肤出来。他所作的工作无非是做一些图标,选择几种有限的规则,熟悉几种常用的Java2D操作(使用界面选择就行了,不需要他编程)。然后生成xml配置文件,或者直接生成各种组件ComponentUI类。

呵呵,这样那些网页上、Office上、IM的界面不就很容易画出来吗?普通Swing开发人员也可以利用普通Swing组件做恨花哨界面。  回复  更多评论

# re: swing专业外观

2007-11-07 19:54

土猪

图片是很好看,

只是下载了代码,编译不了,

我以前是用jdk1.5的,下载了jdk6.0安装之后,仍然ant不了。

也不知道为什么。  回复  更多评论

@William Chen

synthlookandfeel我也知道,但是没研究过。对于大多数UI来说漂亮、平庸之间只隔一层窗户纸,就是知道不知道九宫格这种手段。九宫格技术实现很简单,关键还要看美工的创意。

说起九宫格,我最开始称呼它“切图”。是一位前人画了一幅设计图,4角4边外加中心的内容,使我豁然开朗从此界面设计上升了一个高度,后来被派到BEA专职UI开发与美工交互时提到了这种思想,才知道有个学名叫“九宫格”。看来“九宫格”作为装饰手段早已有之。  回复  更多评论

@William Chen

刚接触UI的时候容易被忽悠,尤其是对null布局管理的批评,声称这种布局只适合组件尺寸不改变的情况,于是乎觉得必须灵活运用布局管理器才是解决布局问题的唯一方法,GridBagLayout一直没掌握过,SpringLayout、BoxLayout又疲于应对,后来干脆舍弃布局管理器,因为我发现为组件添加re-size事件同样能达到目的,而且相当灵活。但是舍弃布局管理器付出的代价是布局完全自己控制,编码量还是满大的。后来学习SWT时发现其中一个叫FormLayout的布局管理器十分灵活(百分比+偏移量),能解决一切静态布局问题,再后来通过研读JDK相关源码,了解了其布局管理器原理,底层还是调用setBounds而已,没什么之外希奇古怪的调用,于是自己重新实现了FormLayout,使得awt、swing也可以有强大的FormLayout支持了。过不多久我将FormLayout拿出来与大家分享,敬请期待。  回复  更多评论

@土猪

“下载了jdk6.0安装之后,仍然ant不了”。不知道JDK1.6是否向IDE注册了。  回复  更多评论

@William Chen

陈前辈少安毋躁,待我将有关布局管理器 和 xml配置组件的帖子发表后咱们再进一步讨论。如何。我对您提到的工具很感兴趣。  回复  更多评论

# re: swing专业外观

2007-11-08 08:48

zht

挺漂亮的,不过感觉只是对效果的实现而已,而且最好是在drag的时候改变大小  回复  更多评论

@zht

在drag的时候改变大小,可以啊,稍微修改代码即可,不过这样对性能有影响,这点对任何窗口系统都一样。  回复  更多评论

# re: swing专业外观

2007-11-08 09:14

zht

对性能影响应该不大吧  回复  更多评论

# re: swing专业外观

2007-11-08 16:19

ivin

楼主你好,William Chen和你的文章基本都拜读过了。非常的棒,非常佩服你们的技术。我有一个小小的要求,希望你能够在以后发布的源代码编码方式能不能改成utf-8,可能很多人和我一样,下载了源代码不一定是在中文系统下运行的。gbk2312的编码会出现乱码。  回复  更多评论

@zht

如果拖拽过程中伴随这尺寸改变,尺寸改变会导致contentPane重画,一般情况下窗口都会闪烁。Windows窗口这种行为是可配的。  回复  更多评论

@ivin

“拜读”我不敢当,本人资历与技术和William Chen不是一层次的。对于桌面设计,漂亮是一方面,但是更重要的是做到UI与业务分离,毕竟客户更关注的业务。编码改成utf-8没问题。  回复  更多评论

# re: swing专业外观

2007-11-09 15:38

William Chen

电玩,

你每次讲话总是太谦虚、太客气了,再这样说弄得我挺心虚的,都不敢再来露面了。其实我也只不过多学过两年Java,一名熟练工人,一名卖油翁而已。以后别用这样的词,我实在承受不起。你懂很多我不懂的,我懂很多你不懂的,每个人都是自己领域的行家,大家互相学习,互相讨论。知识多了让人充实,朋友多了让人开心。希望大家在一起就是能互相学习知识,多认识朋友,分享获取知识的快乐。  回复  更多评论

# re: swing专业外观

2007-12-20 19:33

游客

今天在网上搜索swing lookandfeel的时候,无意中发现了博主和william Chen俩人的博客,看了几篇文章,大为受益,以后要多多向两位学习。  回复  更多评论

# re: swing专业外观

2007-12-27 09:51

日月雨林

好像有平台的限制啊,它说需要另一个TM_Client的平台  回复  更多评论

# re: swing专业外观

2008-10-22 16:11

游客

但是在楼主的界面上加上JTextField不可用????????怎么回事呢?????  回复  更多评论

是有这个问题,是JWindow的问题,我有时间再看看,如果窗口继承JFrame就好了.

这个只是个demo.  回复  更多评论

@游客

现在这个问题解决了,问题依然是JWindow,改成继承JFrame就可以了,但是要加上setUndecorated(true);使之去掉装饰。代码已经改写了,并加上了你说的JTextField  回复  更多评论

# re: swing专业外观

2009-06-08 19:39

atgihdgv

netbeans 垃圾东西,总是报错,什么NullPointer 什么的,一大堆  回复  更多评论

# re: swing专业外观

2009-06-08 19:40

atgihdgv@yahooo.com.cn

netbeans 垃圾东西,总是报错,什么NullPointer 什么的,一大堆:

java.lang.NullPointerException

at org.netbeans.modules.coverage.config.Config.getProjectType(Config.java:163)

at org.netbeans.modules.coverage.config.Config.isNbModuleProject(Config.java:188)

at org.netbeans.modules.coverage.config.Config.isSupportedProject(Config.java:192)

at org.netbeans.modules.coverage.ProjectMenuAction$ProjectContextAwareMenuAction$ProjectMenuItems.(ProjectMenuAction.java:146)

at org.netbeans.modules.coverage.ProjectMenuAction$ProjectContextAwareMenuAction.getPopupPresenter(ProjectMenuAction.java:126)

at org.openide.util.Utilities.actionsToPopup(Utilities.java:2730)

at org.openide.util.Utilities.actionsToPopup(Utilities.java:2810)

at org.openide.explorer.view.TreeView.createPopup(TreeView.java:971)

at org.openide.explorer.view.TreeView$PopupAdapter.showPopup(TreeView.java:1450)

at org.openide.awt.MouseUtils$PopupMouseAdapter.maybePopup(MouseUtils.java:182)

at org.openide.awt.MouseUtils$PopupMouseAdapter.mouseReleased(MouseUtils.java:177)

at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:273)

at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)

at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)

at java.awt.Component.processMouseEvent(Component.java:6216)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)

at java.awt.Component.processEvent(Component.java:5981)

at java.awt.Container.processEvent(Container.java:2041)

at java.awt.Component.dispatchEventImpl(Component.java:4583)

at java.awt.Container.dispatchEventImpl(Container.java:2099)

at java.awt.Component.dispatchEvent(Component.java:4413)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)

at java.awt.Container.dispatchEventImpl(Container.java:2085)

at java.awt.Window.dispatchEventImpl(Window.java:2475)

at java.awt.Component.dispatchEvent(Component.java:4413)

[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

每次都这样,都不想用它了。有没有人能帮哈我啊,先谢谢了!  回复  更多评论

# re: swing专业外观

2011-11-25 17:12

lxw出山小草

@atgihdgv@yahooo.com.cn

你的一些插件坏了,可能是病毒导致的,重装一下就行  回复  更多评论

# re: swing专业外观[未登录]

2014-05-21 14:11

tang

@atgihdgv@yahooo.com.cn

自己龊怪别人工具  回复  更多评论

java swing 外观_swing专业外观相关推荐

  1. java swing刷新_Swing界面刷新问题(转)

    在Java Swing编程中,往往会遇到需要动态刷新界面的时候,例如动态刷新JLabel的文本,JTextField里的文本等等.但是往往却没有达到我们预期的效果,我相信很多朋友都遇到过本文将要说的这 ...

  2. java swing单选按钮_Swing如何创建和使用单选按钮?

    下面的示例展示了如何在Java Swing应用程序中使用标准单选按钮. 使用以下API - JRadioButton() - 创建标准单选按钮. JRadioButton.setEnabled(fal ...

  3. java swing特效_Swing java swing特效的15个例子 - 下载 - 搜珍网

    Swing特效/JTable分页/分页/AbstractSortedTableModel.class Swing特效/JTable分页/分页/AbstractSortedTableModel.java ...

  4. java swing 升级_Swing - 更新标签

    有一个标签,一旦SwingWorker完成就会更新import javax.swing.JCheckBox;import javax.swing.JFrame;import javax.swing.J ...

  5. Java Swing 皮肤

    本文将深入透视 Synth 外观,他是 java 5.0 中为 Swing 引入的最新内容.通过为 Java UI 编程引入"皮肤"的概念,Synth 使研发人员能够为应用程式创建 ...

  6. 【java毕业设计】基于java+swing的模拟写字板设计与实现(毕业论文+程序源码)——模拟写字板

    基于java+swing的模拟写字板设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+swing的模拟写字板设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开题报 ...

  7. 【java毕业设计】基于java+swing+CS的图书销售管理系统GUI设计与实现(毕业论文+程序源码)——图书销售管理系统

    基于java+swing+CS的图书销售管理系统GUI设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+swing+CS的图书销售管理系统GUI设计与实现,文章末尾附有本毕业设计的 ...

  8. 我应该避免在Java Swing中使用set(Preferred | Maximum | Minimum)Size方法吗?

    本文翻译自:Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing? Several ti ...

  9. java swing开源组件_Squareness

    相关开源项目 Napkin look & feel:The Napkin Look & Feel is a pluggable Java look and feel that look ...

  10. java swing图形界面开发 java.swing简介

    最近在看YouTube上面的视频的时候,虽然学着做了一点界面和一点可以运行的东西,但是里面用到的库文件我还是不明就里的.所以我打算在制作游戏之前,先花几天的时间大概地研究一下关于java.swing的 ...

最新文章

  1. python编程从入门到精通pdf-跟老齐学Python:从入门到精通 完整版PDF[7MB]
  2. 北京周末去哪儿 —— 玉渊潭
  3. 电脑不能打字_书记员速录如何提高打字速度和正确率
  4. 【3】SCN-Hystrix熔断器
  5. jsp springmvc 视图解析器_SpringMVC工作原理
  6. .sln vcxproj vcxproj.filter文件作用(转载)
  7. 周老师打酒喝光回 递归
  8. Java学习路线|【完整版】
  9. Sim_EKB_Install_2021,TIA V17等西门子资料下载
  10. MaxScript 设置 OBJ Import Options
  11. 平板电脑性价比排行2022
  12. 将Python Pandas DataFrame写入docx文档指定位置
  13. “COMSOL Multiphysics多物理场仿真技术与应用” 电化学专题
  14. DOM详解(五):DOM常用对象
  15. 计算机桌面程序图片,笑哭!程序员电脑桌面原来是这个样子的?
  16. C语言中求余运算符的注意事项
  17. 计算机二级c内容,计算机二级C语言考试内容大纲
  18. 一年级《江南》知识点心田花开汇总
  19. 推荐一款注册表清理软件(含注册码)
  20. matlab 模态叠加法,基础激励下基于模态叠加法谐响应分析.doc

热门文章

  1. 2014年腾讯实习生招聘最后一题
  2. 计算机三种桌面图标,例举win7电脑桌面图标排列方式
  3. 深度技术官网linux,深度系统
  4. 衣带渐宽终不悔,为伊消得人憔悴
  5. 关于2022虎符pwn mva解决jmp rax无法反汇编的这么个事情
  6. 量子前沿英雄谱|激光界泰斗Robert Byer(罗伯特·拜尔)
  7. Java实现图片压缩功能
  8. U盘启动盘 U盘安装Win10系统图文教程
  9. django 使用mixins时报HTTP方法patch method not allow
  10. springboot整合jpa之Specification