最近在需要用java做个点菜系统,既然是个点菜系统,那界面肯定得要精致美观了(因为客人要根据这个点菜的呀),可是众所周知,java的缺点就是用java来做界面。思考之下,还是考虑用个美化类包。当然了,在java的美化类包当中,还是有很多的,不过再三考虑之下,还是用了substance这个美化类包。谁知,在用这个美化类包的时候,出现了很多意想不到的问题,现在写出来和大家共同学习学习,因为我也还是刚接触这个类包,所以能解决的,就是将我遇到的问题写出来了,希望和大家共勉。
第一个遇到的问题就是,我一开始下载了substance 5.0这个类包,刚开始用不了,觉得是个人问题,然后找了下资料,发现substance还是有点bug,所以又重新下载了个类包,为了减少大家在用这个美化类包中出现的问题,这个美化类包已经给出,请在这里下载: 点击打开链接。第二个问题就是怎么导入类包。要向导入类包的话,就在eclipse中右键点击文件,然后找到build path,最后找到这个类包所在的路劲就可以。 第三个问题是怎么调用这个类包。要向调用类包,只需要用到如下的代码:
try {
UIManager.setLookAndFeel(new SubstanceLookAndFeel());
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
SubstanceLookAndFeel.setCurrentTheme(new SubstanceTerracottaTheme());
// SubstanceLookAndFeel.setSkin(new EmeraldDuskSkin());
// SubstanceLookAndFeel.setCurrentButtonShaper(new ClassicButtonShaper());
// SubstanceLookAndFeel.setCurrentWatermark(new SubstanceBubblesWatermark());
// SubstanceLookAndFeel.setCurrentBorderPainter(new StandardBorderPainter());
// SubstanceLookAndFeel.setCurrentGradientPainter(new StandardGradientPainter());
// SubstanceLookAndFeel.setCurrentTitlePainter(new FlatTitePainter());
} catch (Exception e)
{
System.err.println("Something went wrong!");
}
这个地方主要介绍一下关于使用substance.jar包装程序时对界面效果的几个方面的设置,主要要
主题,皮肤,按钮类型,水印,边框渲染,渐变渲染与标题栏渲染.
他们都可以通过SubstanceLookAndFeel类的静态方法 setCurrentXXX(XXX)来完成设置,其中对皮肤的设置稍有不同,使用静态方法setSkin(),没有Current这个单词,这主要是由于一个皮肤对象中已经包含了所有其他的如主题,水印,按钮类型的设置.
第四个问题是:我加了这段代码后 JFrame.setDefaultLookAndFeelDecorated(true); JDialog.setDefaultLookAndFeelDecorated(true);边框还是系统的边框,没有达到美化的效果,经过找资料之后发现,要启动达到美化的效果,就必须设置在一个线程中,可以将上面的那一大段调用代码,放到主函数中,就可以达到美化的效果。
第一个遇到的问题就是,我一开始下载了substance 5.0这个类包,刚开始用不了,觉得是个人问题,然后找了下资料,发现substance还是有点bug,所以又重新下载了个类包,为了减少大家在用这个美化类包中出现的问题,这个美化类包已经给出,请在这里下载: 点击打开链接。第二个问题就是怎么导入类包。要向导入类包的话,就在eclipse中右键点击文件,然后找到build path,最后找到这个类包所在的路劲就可以。 第三个问题是怎么调用这个类包。要向调用类包,只需要用到如下的代码:
try {
UIManager.setLookAndFeel(new SubstanceLookAndFeel());
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
SubstanceLookAndFeel.setCurrentTheme(new SubstanceTerracottaTheme());
// SubstanceLookAndFeel.setSkin(new EmeraldDuskSkin());
// SubstanceLookAndFeel.setCurrentButtonShaper(new ClassicButtonShaper());
// SubstanceLookAndFeel.setCurrentWatermark(new SubstanceBubblesWatermark());
// SubstanceLookAndFeel.setCurrentBorderPainter(new StandardBorderPainter());
// SubstanceLookAndFeel.setCurrentGradientPainter(new StandardGradientPainter());
// SubstanceLookAndFeel.setCurrentTitlePainter(new FlatTitePainter());
} catch (Exception e)
{
System.err.println("Something went wrong!");
}
这个地方主要介绍一下关于使用substance.jar包装程序时对界面效果的几个方面的设置,主要要
主题,皮肤,按钮类型,水印,边框渲染,渐变渲染与标题栏渲染.
他们都可以通过SubstanceLookAndFeel类的静态方法 setCurrentXXX(XXX)来完成设置,其中对皮肤的设置稍有不同,使用静态方法setSkin(),没有Current这个单词,这主要是由于一个皮肤对象中已经包含了所有其他的如主题,水印,按钮类型的设置.
第四个问题是:我加了这段代码后 JFrame.setDefaultLookAndFeelDecorated(true); JDialog.setDefaultLookAndFeelDecorated(true);边框还是系统的边框,没有达到美化的效果,经过找资料之后发现,要启动达到美化的效果,就必须设置在一个线程中,可以将上面的那一大段调用代码,放到主函数中,就可以达到美化的效果。