花了点时间看看了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/
分享到:
相关推荐
标题中提到的"swing的外观包集合,有4个jar",这意味着这个压缩包包含了四个独立的外观包,这些包可以帮助开发者定制Swing应用的视觉样式。以下是这四个文件的简要介绍: 1. **substance.jar**:Substance Look and ...
Swing提供了多种方式来定制和改变应用程序的外观,使其更符合用户的偏好或操作系统环境。以下是关于Swing外观和Swing Applet外观的一些详细知识点: 1. **Swing外观支持**: 自JDK 1.4版本以来,Swing引入了对...
Swing库提供了丰富的组件集,如按钮、文本框、菜单等,而这些组件的外观可以通过不同的Look and Feel(简称L&F)来定制。在Java中,Look and Feel是一种接口,用于改变Java图形用户界面的视觉样式和行为。 "Quaqua ...
这种灵活性是Java Swing的一大优点,它允许开发者根据个人喜好或品牌需求定制界面,而无需深入到复杂的图形渲染代码中。 总结起来,这个“java swing 外观包”压缩文件提供了两种不同的Swing外观解决方案——...
主题包通常是一系列定制的CSS(样式表)和图像资源,它们定义了Swing组件的颜色、字体、边框等视觉属性。通过导入这些主题包,开发者可以轻松地更改Swing应用程序的整体外观,而无需深入到代码的细节中去调整每个...
Weblaf是一个高度可定制的Swing外观和感觉实现,它提供了多种现代风格的皮肤,使得Swing应用程序能够拥有类似Web应用的外观。这个开源包包含三个jar文件: 1. `weblaf-demo-1.29.jar`:这是一个演示程序,包含了...
在"Swing外观包.jar"这个文件中,可能包含了一些预设的LookAndFeel实现或者定制的LookAndFeel类,以便开发者可以直接导入并应用于他们的项目中,无需从头开始编写。这大大简化了创建独特界面的过程,使得开发者可以...
总的来说,Substance 5.2是Java Swing开发者改进应用外观的有力工具,通过其丰富的主题和可定制性,可以提升应用的用户体验和专业形象。同时,由于提供了源码,开发者还可以借此机会学习如何设计和实现自己的GUI皮肤...
"完美的Swing外观插件"可能指的是一个能够为Swing应用程序提供理想化外观效果的定制插件。 Swing提供了多种内置的LookAndFeel,包括跨平台的Metal Look and Feel(默认)、Windows Look and Feel 和 Motif Look and...
下面将详细探讨如何通过Java Swing自定义`JTabbedPane`组件的外观。 首先,我们需要了解`JTabbedPane`的基本用法。创建一个`JTabbedPane`实例非常简单: ```java JTabbedPane tabbedPane = new JTabbedPane(); ```...
本资源包“Java Swing皮肤样式大全(全56种经典).zip”是针对Swing应用的外观定制,旨在提升用户体验和视觉效果。 首先,让我们详细探讨一下Java Swing的皮肤样式。在Swing中,皮肤被称为“Look and Feel”(简称L...
### Swing框架定制Component详解 Swing作为Java图形用户界面(GUI)编程的重要组成部分,提供了丰富的组件库和灵活的自定义选项。本文旨在深入探讨Swing框架中Component的定制方法,特别是GUI的绘制机制以及Swing的...
"PgsLookAndFeel"是一个特定的外观主题,用于定制Swing应用的UI设计,使其具有更加吸引人的视觉效果。 标题提到的"Swing 外观主题",主要涉及到Java Swing中的LookAndFeel机制。LookAndFeel是Swing提供的一种接口,...
然而,Swing的默认外观,即Metal主题,可能被认为相对简单且缺乏现代感,这使得开发者在创建具有吸引力的应用程序时面临挑战。为了改变这种情况,一些第三方库如JTattoo应运而生。 JTattoo是一个开源的外观和感觉...
在“Java Swing教程”中,我们会详细讲解如何使用这些组件、布局管理器、事件处理和外观定制,通过实例代码演示如何一步步构建出美观且功能丰富的应用程序。无论是初学者还是有一定经验的开发者,都能从中学习到如何...
9. **外观(Look and Feel)**:Swing支持更改应用的视觉样式,可以设置为系统默认的外观,也可以自定义外观。 10. **JTable和JTree**:用于展示表格数据和树形结构,提供了丰富的功能,如排序、过滤和编辑。 在...
在Java Swing开发中,Swing...通过熟练掌握Swing的各种组件、事件处理和布局管理,开发者可以创建出符合用户需求的定制化界面,同时得益于其轻量级组件和可插入的外观机制,Swing应用在性能和跨平台兼容性上表现出色。
在默认情况下,Swing组件的外观可能相对朴素,但通过引入第三方库,如BeautyEye、Substance和JTattoo,开发者能够轻松地提升Swing应用的视觉吸引力和用户体验。 BeautyEye是一个专注于Java Swing UI美化的设计框架...
7. **Swing构件的可定制性**:Swing组件高度可定制,可以通过重绘(override paintComponent())或设置属性来改变组件的外观和行为。 8. **对话框(Dialogs)**:Swing提供了JOptionPane,JOptionPane可以创建各种类型...