声明:JavaEye新闻文章的版权属于JavaEye网站所有,严禁任何网站转载本文,否则必将追究法律责任!
CSS可以用来修饰HTML网页。
但你有没有想过,使用CSS也可以修饰Java桌面呢。现在这种想法也得以实现了。Java社区的一个开源项目-Javacss,就实现了这种功能,以css来修饰Java桌面,如Swing,JavaFX应用程序。
在使用的时候,可以通过以下方式进行调用。
Stylesheet是Javacss库中的一个类,用来生成样式表。
applyTo()用于将css样式表绑定到指定的控件上去。
帮助文档可以在这里看到:https://javacss.dev.java.net/docs/javadoc/overview-summary.html
类库的下载地址为: https://javacss.dev.java.net/servlets/ProjectDocumentList
但你有没有想过,使用CSS也可以修饰Java桌面呢。现在这种想法也得以实现了。Java社区的一个开源项目-Javacss,就实现了这种功能,以css来修饰Java桌面,如Swing,JavaFX应用程序。
//example.css文件:
Component {//所有Component控件都使用的样式。
font-family: "SansSerif";
font-size: 14pt;
font-weight: normal;
}
JLabel#title {//name为title的JLable使用的样式。
font-size: 200%;
font-weight: bold;
foreground: #0099ff;
border: etchedBorder;
}
JButton:mouseover {//鼠标移到JButton之上时使用的样式。
font-weight: bold;
}
JButton.toolbar {//使用样式名为toolbar的使用的样式。
text: null;
}
在使用的时候,可以通过以下方式进行调用。
FileReader in = new FileReader("example.css");
Stylesheet stylesheet = new Stylesheet(in);
in.close();
stylesheet.applyTo(mainFrame);
Stylesheet是Javacss库中的一个类,用来生成样式表。
applyTo()用于将css样式表绑定到指定的控件上去。
帮助文档可以在这里看到:https://javacss.dev.java.net/docs/javadoc/overview-summary.html
类库的下载地址为: https://javacss.dev.java.net/servlets/ProjectDocumentList


评论 共 20 条 发表评论
fight_bird 2008-07-25 23:18
ham 2008-07-25 15:19
编辑回复的时候没注意。
都是一个JFrame的对象。再一次向大家道歉。
ham 2008-07-25 15:16
刚才打开例子的源代码看了一下调用的方法.发现Stylesheet类里面确实没有参数为FileReader的构造函数.
正确的调用方法应该是这样的:
Stylesheet style = CSSParser.parse(TipCalculator.class.getResource("stylesheet.css")); style.applyTo(theFrame);其中
public URL getResource("stylesheet.css");getReasource()是属于class类的一个方法.接收一个名称.然后返回指定的URL类的对象.在这里给大家说声对不起了。
zsyao 2008-07-25 14:23
Stylesheet() Creates a new stylesheet which contains no rules. Stylesheet(java.util.Collection<Rule> rules) Creates a stylesheet from a collection of rules. Stylesheet(Rule[] rules) Creates a stylesheet from an array of rules.构造函数里没有实现FileReader参数的呀.
dircxy007 2008-07-25 13:41
tvjody 2008-07-25 13:19
ham 2008-07-25 11:33
FileReader in = new FileReader("example.css"); Stylesheet stylesheet = new Stylesheet(in); in.close(); stylesheet.applyTo(mainFrame);但主页上就是这么调用的啊...难道Javacss主面的介绍有问题?
https://javacss.dev.java.net/docs/overview.html
dracularking 2008-07-25 10:37
rmn190 2008-07-25 10:27
fengzhiyu_sh 2008-07-25 08:44
lishali12345 2008-07-24 23:02
就应该实现这样的独立性!
tedeyang 2008-07-24 22:30
KKFC 2008-07-24 21:13
寻找出路的苍蝇 2008-07-24 17:50
我们也用到了通过CSS来设置Java控件的外观, 不过我们是基于SWT。
ham 2008-07-24 15:44
XUL是构造界面的..Javacss是美化界面的.
难道你用HTML写了页面.把css全用标签的style属性带进去?
分离开来不是更好么?
fkpwolf 2008-07-24 14:33
troyconder 2008-07-24 14:32
鹤惊昆仑 2008-07-24 13:12
ham 2008-07-24 11:59
写错了,不好意思。
我这里所列的只是最基本的一些用法。更多的信息可以到javacss的主页上看得到。
ln1058 2008-07-24 11:50