命令行输入改变Swing程序外观
创始人
2024-04-15 00:21:12
0

命令行输入改变Swing程序外观

有些时候,Swing程序并没有提供在运行期改变外观的方法.当我们使用的就是一个这样的Swing程序时,我们可以通过命令行输入借助Swing default 属性来覆盖默认的外观配置.

  1. java -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel
     myapp.MainClass 

你可以用这个技巧为程序提供一个全新的外观,而这个外观可能连最初的程序员都从未想过的.

获取金属质感的外观

有很多非正式的属性控制着金属质感的外观以及Swing 的跨平台的外观.JTree 的节点设计时可以把子节点通过连接线连接父节点,不过,通过你的配置,可以显示也可以隐藏这个连接线.通过设置JTree.lineStyle这个属性来配置这些连接线.在创建JTree 之后,添加以下的代码

  1. // show the lines in a JTree tree.putClientProperty("JTree.lineStyle", "Angled"); 
  2. // hide the lines in a jtree tree.putClientProperty("JTree.lineStyle", "None");  

对于金属质感的外观***的一个抱怨就是菜单和标签使用的是粗体.通过另外一个简洁的非正式系统特性,你可以关闭这些.

  1. java -Dswing.boldMetal=false myapp.MainClass  

你可以通过使用一个秘密的特性打开JToolBar按键的翻动.这个翻动很有用,因为用户可以通过这个直观的翻动清楚的知道当前鼠标的指针停留的位置.提供工具栏常规按键的尺寸大小,反馈回来的就是实质内容

  1. toolbar.putClientProperty("JToolBar.isRollover",Boolean.TRUE); 

在Wiki页面有一份比较长的(虽然谈不上全面) 属性清单.特别是Swing和金属质感有很多的非正式系统的属性.当你有什么新的发现时,不妨将你的评论添加到刚刚提到的那个页面.同时要特别清楚之所以为非正式往往是出于某种原因的,这些东西可能很容易的就被改变,在将来甚至可能被去舍弃.所以还是把这个险留给自己去冒好了.

【编辑推荐】

  1. Swing模型过滤器概述
  2. 浅谈WebRenderer与Swing应用程序
  3. TableModelExample可以简化Swing
  4. JTable和TableModel简化Swing
  5. 用BeanTableModel简化Swing

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...