`

swing定制外观

阅读更多

花了点时间看看了synth(swing定制外观),在网上找了半天没有看到一个非常完整的例子(包括代码,配置文件),所以自己写了一个完整的,放在这里.(当然参考了网上的).

 

1,java代码

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.UIManager;

import javax.swing.plaf.synth.SynthLookAndFeel;

 

public class GUI {

public static void main(String[] args) throws Exception {

SynthLookAndFeel synth = new SynthLookAndFeel();

synth.load(GUI.class.getResourceAsStream("demo.xml"),

GUI.class);

UIManager.setLookAndFeel(synth);

JFrame jf = new JFrame();

jf.setSize(100, 100);

 

JButton b = new JButton();

jf.getContentPane().add(b);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jf.setVisible(true);

}

}

2,synth的配置文件,名字随便取,我这里用demo.xml

 

<synth>

<style id="button">

<state>

<imagePainter method="buttonBackground" path="images/dbroot.jpg" 

sourceInsets="9 10 9 12" paintCenter="true" stretch="true"/>

<insets top="9" left="10" bottom="9" right="12"/>

<font name="Aharoni" size="16"/>

<color type="TEXT_FOREGROUND" value="#FFFFFF"/>

</state>

<state value="MOUSE_OVER">

<imagePainter method="buttonBackground" path="images/db_open.jpg" 

sourceInsets="9 10 9 12" paintCenter="true" stretch="true"/>

<insets top="9" left="10" bottom="9" right="12"/>

<color type="TEXT_FOREGROUND" value="#FFFFFF"/>

</state>

<state value="PRESSED">

<imagePainter method="buttonBackground" path="images/db_close.jpg" 

sourceInsets="10 12 8 9" paintCenter="true" stretch="true"/>

<insets top="10" left="12" bottom="8" right="9"/>

<color type="TEXT_FOREGROUND" value="#FFFFFF"/>

</state>

<property key="Button.margin" type="insets" value="0 0 0 0"/>

</style>

<bind style="button" type="region" key="Button"/>

</synth>

 

此文件放在src下面,里面涉及了三个图片,自己随便找三个吧.images文件夹建立在项目根目录下.(有很多人在这些问题上要纠结很久,我这里说得很清楚,按我的步骤做,绝对成功)

 

另,这里有比较详细的synth资料:http://www.ibm.com/developerworks/cn/java/j-synth/


0
0
分享到:
评论

相关推荐

    Swing 教程我从ibm网上下载的 

    本教程面向的对象是:有创建 Swing 应用程序的经验,但是还想在这个知识之上使用一些更高级的技术(一些仅仅通过查看 Swing API 无法掌握的技术)来构建应用程序。如果想掌握本教程,应当熟悉...创建完全定制的外观。

    使用java编写swing配合BeautyEye写的例子源码(官方JAR和截图)

    前几年,因对Swing的外观定制有过几次深入实践,因而今年初有了利用NinePatch技术为Swing彻底改头换面一次的想法。  起先没想完全开发一套LNF,因为明知工作量很大(包括编码,更为困难的是美感与视觉效果的确定)...

    JIDE TreeMap(热图) 开发员技术手册

    首先,热图的视觉外观可以任意定制。大小,颜色,高度,和标签都可以映射到任何属性。许多选项可以让您进一步微调显示效果。在互动方面,它提供了一个缩放的接口,以及向下细分的可能性。它可以弹出窗口,显示具体...

    JAVA_API1.6文档(中文)

    javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合两个或多个外观的用户界面对象。 javax.swing.plaf.synth Synth 是...

    Java项目源码之文本编辑器的实现.rar

    Java Swing:使用Java Swing框架构建用户界面,实现菜单、工具栏、文本区域等组件的布局和交互。 文件IO操作:使用Java的文件IO操作读取和保存文本文件,实现文本文件的打开和保存功能。 文本处理:使用Java提供的...

    JQuery插件Marquee.js实现无缝滚动效果

    Marquee.js插件提供了许多属性选项,您可以配置定制外观和效果。 { yScroll: "top" // 初始滚动方向 (还可以是"top" 或 "bottom") showSpeed: 850 // 初始下拉速度 scrollSpeed: 12 // 滚动速度 , pauseSpeed: 5000...

    java api最新7.0

    javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合两个或多个外观的用户界面对象。 javax.swing.plaf.synth Synth 是一...

    JDK_1_6 API

    javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合两个或多个外观的用户界面对象。 javax.swing.plaf.synth Synth 是...

    JavaAPI1.6中文chm文档 part1

    javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合两个或多个外观的用户界面对象。 javax.swing.plaf.synth Synth 是...

    JavaAPI中文chm文档 part2

    javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合两个或多个外观的用户界面对象。 javax.swing.plaf.synth Synth 是...

    [Java参考文档]

    javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合两个或多个外观的用户界面对象。 javax.swing.plaf.synth Synth 是...

    [Java参考文档].JDK_API 1.6

    javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合两个或多个外观的用户界面对象。 javax.swing.plaf.synth Synth 是一...

    Java 1.6 API 中文 New

    javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合两个或多个外观的用户界面对象。 javax.swing.plaf.synth Synth 是一...

    JLWizard-开源

    JLWizard是一个用Java编写的类库,用于向Swing应用程序添加向导组件。 该向导是完全可定制的,支持不同的外观并支持分支。

    blingclock:BlingClock-视觉倒数计时器

    这是“ Filthy Rich” Swing应用程序的示例。 我希望这会引起一些兴趣。 看起来绝对很棒。 您说得对,可视化功能有很大帮助(除了数字之外)。 确实,这是一个很棒的软件。 为什么没有更多的人创造艺术而不是单纯的...

    javaSE代码实例

    14.6.7 定制SortedSet的排序规则 296 14.6.8 集合的遍历 298 14.6.9 使用for-each循环遍历集合 300 14.7 映射集 301 14.7.1 Map接口及含义 301 14.7.2 HashMap类的使用 302 14.7.3 Hashtable类的使用 ...

    Eclipse权威开发指南3.pdf

    2.1.3 Eclipse的外观:编辑器、视图和透视图..... 16 2.1.4 用户界面概述..... 18 2.1.5 首选项介绍..... 19 2.2 基本的Eclipse使用...... 20 2.2.1 在Eclipse中工作..... 21 2.2.2 了解Eclipse用户界面...

Global site tag (gtag.js) - Google Analytics