- 浏览: 912174 次
- 性别:
- 来自: 宁波
文章分类
最新评论
-
masuweng:
不错!!!!!
自定义表单的设计与实现 -
xhackertxl:
注意将jstock cvs下来后去掉原先的J2SE 1.6li ...
开源项目推荐 — 股票分析软件JStock -
luoyexiaozhu:
最近在学表单这一块,没有思路,能发给我一份学习一下吗86239 ...
WEB项目中自定义表单的设计与实现 -
volunteer521:
楼主,以下的引用类没有对应的jar包,麻烦共享以下,谢谢!im ...
通用数据抽取系统 -
baichixiaozi:
体验下,谢谢分享
原创简化Web开发的框架 - JSPTagEx
最近项目用swing开发桌面程序,感觉本身的swing界面实在不怎么样,所以就使用了Substance开源产品,感觉很不错,推荐给大家,示例代码如下:
package com.cxlh.ui; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Toolkit; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JPopupMenu; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextArea; import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.table.DefaultTableModel; import org.jvnet.substance.skin.SubstanceBusinessBlueSteelLookAndFeel; public class MainFrame extends JFrame { private JMenuBar mainBar = new JMenuBar(); private JMenu sysMenu = new JMenu("系统"); private JMenuItem exitItem = new JMenuItem("退出"); private JMenuItem loginItem = new JMenuItem("登陆"); private JMenu aboutMenu = new JMenu("关于"); private JMenuItem helpItem = new JMenuItem("帮助"); private JPopupMenu popup = new JPopupMenu(); private JMenuItem sendItem = new JMenuItem("发信息"); private JMenuItem infoItem = new JMenuItem("看账户"); private JMenuItem logoutItem = new JMenuItem("注销"); private JTable table; private JScrollPane jspLogin; private JScrollPane jsplogTA; private JPanel displayPanel; private JPanel btnPanel; private JButton dispalyBtn; private JButton preBtn; private JButton nextBtn; public static DefaultTableModel defaultModel; public static JTextArea logTA; public MainFrame() { super("皮肤测试"); setMainBar(); setPanel(); initFrame(600, 450); } private void initFrame(int frameWidth, int frameHeight) { setTitle("皮肤测试"); Toolkit tk = Toolkit.getDefaultToolkit(); Dimension screenDimension = tk.getScreenSize(); int screenWidth = screenDimension.width; int screenHeight = screenDimension.height; setLocation((screenWidth - frameWidth) / 2, (screenHeight - frameHeight) / 2); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(frameWidth, frameHeight); setVisible(true); } private void setMainBar() { setJMenuBar(mainBar); mainBar.add(sysMenu); mainBar.add(aboutMenu); sysMenu.add(loginItem); sysMenu.addSeparator(); sysMenu.add(exitItem); aboutMenu.add(helpItem); popup.add(sendItem); popup.add(infoItem); popup.add(logoutItem); } private void setPanel() { String[][] playerInfo = new String[0][0]; String[] names = { "用户", "登陆时间", "当前状态" }; defaultModel = new DefaultTableModel(playerInfo, names); logTA = new JTextArea(); logTA.setLineWrap(true); jsplogTA = new JScrollPane(logTA); table = new JTable(defaultModel); jspLogin = new JScrollPane(table); displayPanel = new JPanel(); btnPanel = new JPanel(); displayPanel.setLayout(new BorderLayout()); displayPanel.add(jsplogTA, BorderLayout.CENTER); displayPanel.add(btnPanel, BorderLayout.SOUTH); dispalyBtn = new JButton("显示10条"); preBtn = new JButton("向前10条"); nextBtn = new JButton("向后10条"); btnPanel.add(dispalyBtn); btnPanel.add(preBtn); btnPanel.add(nextBtn); jspLogin.setPreferredSize(new Dimension(600, 69)); add(jspLogin, BorderLayout.NORTH); add(displayPanel, BorderLayout.CENTER); } public static void main(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); try { UIManager.setLookAndFeel(new SubstanceBusinessBlueSteelLookAndFeel()); } catch (Exception e) { System.out.println("Substance Raven Graphite failed to initialize"); } SwingUtilities.invokeLater(new Runnable() { public void run() { MainFrame w = new MainFrame(); w.setVisible(true); } }); } }
评论
6 楼
ext__chlj
2009-08-20
10:56:34,593 DEBUG ReceiveService:88 - 启动服务器.........
org.jvnet.substance.api.UiThreadingViolationException: Component creation must be done on Event Dispatch Thread
at org.jvnet.substance.utils.SubstanceCoreUtilities.testComponentCreationThreadingViolation(SubstanceCoreUtilities.java:2368)
at org.jvnet.substance.SubstancePanelUI.createUI(SubstancePanelUI.java:57)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:36)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)10:56:51,203 DEBUG SendService:132 - TCP发送处理成功
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:243)
at javax.swing.UIDefaults.getUI(UIDefaults.java:751)
at javax.swing.UIManager.getUI(UIManager.java:1016)
at javax.swing.JPanel.updateUI(JPanel.java:109)
at javax.swing.JPanel.<init>(JPanel.java:69)
at javax.swing.JPanel.<init>(JPanel.java:92)
at javax.swing.JPanel.<init>(JPanel.java:100)
at com.comm.gui.TransPanel.<init>(TransPanel.java:28)
at com.comm.gui.DialogWindow$4$1.<init>(DialogWindow.java:203)
at com.comm.gui.DialogWindow$4.getDataListenner(DialogWindow.java:202)
at com.comm.service.ReceiveService$1.run(ReceiveService.java:170)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
UIDefaults.getUI() failed: createUI() failed for com.comm.gui.TransPanel[,0,0,0x0,invalid,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] java.lang.reflect.InvocationTargetException
java.lang.Error
at javax.swing.UIDefaults.getUIError(UIDefaults.java:711)
at javax.swing.MultiUIDefaults.getUIError(MultiUIDefaults.java:133)
at javax.swing.UIDefaults.getUI(UIDefaults.java:757)
at javax.swing.UIManager.getUI(UIManager.java:1016)
at javax.swing.JPanel.updateUI(JPanel.java:109)
at javax.swing.JPanel.<init>(JPanel.java:69)
at javax.swing.JPanel.<init>(JPanel.java:92)
at javax.swing.JPanel.<init>(JPanel.java:100)
at com.comm.gui.TransPanel.<init>(TransPanel.java:28)
at com.comm.gui.DialogWindow$4$1.<init>(DialogWindow.java:203)
at com.comm.gui.DialogWindow$4.getDataListenner(DialogWindow.java:202)
at com.comm.service.ReceiveService$1.run(ReceiveService.java:170)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
org.jvnet.substance.api.UiThreadingViolationException: Component creation must be done on Event Dispatch Thread
我没有用substance 一切正常,没有问题,这是我的main
public static void main(String args[]) {
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
try {
UIManager.setLookAndFeel(new SubstanceOfficeBlue2007LookAndFeel());
} catch (UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
}
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new MainWindow().setVisible(true);
}
});
}
我是用的 substance5.2 请问您遇到这样的问题吗?有解决方法吗?谢谢、、、、、
org.jvnet.substance.api.UiThreadingViolationException: Component creation must be done on Event Dispatch Thread
at org.jvnet.substance.utils.SubstanceCoreUtilities.testComponentCreationThreadingViolation(SubstanceCoreUtilities.java:2368)
at org.jvnet.substance.SubstancePanelUI.createUI(SubstancePanelUI.java:57)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:36)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)10:56:51,203 DEBUG SendService:132 - TCP发送处理成功
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:243)
at javax.swing.UIDefaults.getUI(UIDefaults.java:751)
at javax.swing.UIManager.getUI(UIManager.java:1016)
at javax.swing.JPanel.updateUI(JPanel.java:109)
at javax.swing.JPanel.<init>(JPanel.java:69)
at javax.swing.JPanel.<init>(JPanel.java:92)
at javax.swing.JPanel.<init>(JPanel.java:100)
at com.comm.gui.TransPanel.<init>(TransPanel.java:28)
at com.comm.gui.DialogWindow$4$1.<init>(DialogWindow.java:203)
at com.comm.gui.DialogWindow$4.getDataListenner(DialogWindow.java:202)
at com.comm.service.ReceiveService$1.run(ReceiveService.java:170)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
UIDefaults.getUI() failed: createUI() failed for com.comm.gui.TransPanel[,0,0,0x0,invalid,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] java.lang.reflect.InvocationTargetException
java.lang.Error
at javax.swing.UIDefaults.getUIError(UIDefaults.java:711)
at javax.swing.MultiUIDefaults.getUIError(MultiUIDefaults.java:133)
at javax.swing.UIDefaults.getUI(UIDefaults.java:757)
at javax.swing.UIManager.getUI(UIManager.java:1016)
at javax.swing.JPanel.updateUI(JPanel.java:109)
at javax.swing.JPanel.<init>(JPanel.java:69)
at javax.swing.JPanel.<init>(JPanel.java:92)
at javax.swing.JPanel.<init>(JPanel.java:100)
at com.comm.gui.TransPanel.<init>(TransPanel.java:28)
at com.comm.gui.DialogWindow$4$1.<init>(DialogWindow.java:203)
at com.comm.gui.DialogWindow$4.getDataListenner(DialogWindow.java:202)
at com.comm.service.ReceiveService$1.run(ReceiveService.java:170)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
org.jvnet.substance.api.UiThreadingViolationException: Component creation must be done on Event Dispatch Thread
我没有用substance 一切正常,没有问题,这是我的main
public static void main(String args[]) {
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
try {
UIManager.setLookAndFeel(new SubstanceOfficeBlue2007LookAndFeel());
} catch (UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
}
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new MainWindow().setVisible(true);
}
});
}
我是用的 substance5.2 请问您遇到这样的问题吗?有解决方法吗?谢谢、、、、、
5 楼
liugr
2008-11-11
开源的皮肤包很多,比这个漂亮的也很多啊
4 楼
coolstar648
2008-11-07
lz能不能提供一下架包的下载地址啊?
3 楼
xht314
2008-11-07
这个包现在有个BUG,就是不断的最大化,恢复,手动调整大小,最后鼠标的形状就会变成两个箭头形式,变以不回去了.
2 楼
小疯子
2008-09-25
没有看到你用Substance制作了什么皮肤啊, 只是使用了Substance吧!
这标题也太...
这标题也太...
1 楼
littleJava
2008-09-25
早就用过了,皮肤是不错,就是它的下载资源太难找了……
发表评论
-
自定义表单的设计与实现
2017-06-13 17:46 8182制作调查表或企业内部系统的时候,经常被一系列表单弄得焦头烂 ... -
高性能高可用的服务端研究之Req-Rep模式(附源码)
2014-03-04 10:01 5496最近在思考高可用的 ... -
也说企业应用中的公式管理功能
2011-02-14 13:41 1284在我们日常开发企业应用或互联网应用中,往往会碰到公式的高级定义 ... -
大学时光的陈年旧作:代码收集软件
2009-08-26 13:37 2026记得读大学的时候,经常喜欢收集代码,今天翻看电脑,发现大学时做 ... -
好用的复选树源码改进版
2009-07-02 15:36 3321在我们项目开发过程中,复选树是经常用碰到的,在Ext,JQ等框 ... -
Apache 2.2.x+Tomcat6集群配置备忘
2009-07-01 10:35 2883在我们部署Web应用时,不可避免大多都会涉及到集群问题,此文作 ... -
校内应用API开发源码
2009-06-24 13:04 3450目前在51,校内,facebook开发小应用越来越热,这里我仅 ... -
网页划词自动翻译的实现
2009-06-15 13:01 1266其中机器翻译调用的Google API,将以下代码另存为即可看 ... -
抓取百度Top500歌曲以及地址源码
2009-05-31 11:11 2955在我整理完在线听歌(http://ting.faqee.com ... -
灰色模型预测算法源码
2008-12-09 08:50 2430在我们进行Web项目开发时,经常需要预测一些离散的数据,那么灰 ... -
AS 3.0语言的魅力(12月1日更新例子)
2008-11-28 09:11 1616以前一直用Java,由于某些Web场景的开发不得不用到Flas ... -
通用各类文档读写的设计与实现
2008-11-21 15:25 1473在我们日常的项目开发中,经常碰到需要读取word等文档的需求, ... -
Web上传文件在线压缩的实现
2008-10-16 08:23 2478在我们开发网站的过程中,如果用户上传的文件过大,由于考虑到服务 ... -
在Java调用VB编写的Dll文件
2008-10-15 08:56 5711在公司里,不同的系统使用不能的语言非常正常,我曾经在一个公司就 ... -
图论—深度优先和广度优先算法源码
2008-10-06 13:21 1844最近由于项目需要,需要实现深度优先和广度优先算法,图论中的基础 ... -
即时通信XMPP协议示例程序(可与QQ,MSN等互通)
2008-09-26 11:24 9080运行环境:JDK1.4+ 第三方包:Smack(Openfir ... -
简易基于Ext留言板源码
2008-09-19 13:15 2653以前接私活的时候给医院做个网站,搞了个基于Ext的小论坛,但后 ... -
Java加密算法汇总
2008-09-19 09:46 1680Base64: package com.cxlh.mm; p ... -
网站全文检索的实现(基于lucene 2.0)
2008-09-18 13:46 2048辛辛苦苦做好了一个网站,接下来就必须为用户提供全文检索的功能, ... -
Google API代码
2008-09-18 08:57 1562<html> <head> ...
相关推荐
Java的Swing界面皮肤、主题使用(substance.jar)内附使用教程 Java的Swing界面皮肤、主题使用(substance.jar)内附使用教程
substance 6.1版本,包含源码,并提供开发所需的依赖Jar
吐血推荐 绝对的好东西 已经将是使用方法和所包含的皮肤主题列出来了 java要是桌面程序都这么做估计就没C#的活路了
substance(皮肤)的源码
swing漂亮皮肤Substance6.1,源码和jar相关library全,开源,官方网站下载整理。吐血推荐
swing的开源外观皮肤Substance5.2,源码和jar相关library全,官方全新整理。
swing漂亮皮肤Substance6.0,源码和jar相关library全,开源,官方网站下载整理。吐血推荐
swing的皮肤包 substance.jar 可以设置swing组件的外观
一款JAVASE编程的皮肤美化界面插件包 Java Swing 界面美化包-含源码
substance+swing完整案例,包括substance的jar包及一个完整的例子,之前找了很久,为方便大家,提供了一个简单例子。
substance美化包java swing,压缩包内含使用方法及代码
swing substance 最新发布包,用substance 写Java的CS程序,效果很好
swing substance 实例集合,打开之后,会去网上自动下载的,该实例包含了所有的substance的效果,Java的CS不再丑陋啦!!
自己找的swing皮肤包substance源码,在自己Eclipse上成功build的后,直接将项目压缩发上来的,想看的小伙伴们直接解压导入Eclipse就ok了,可以直接build的,里边包含了很多皮肤使用的例子,test包
一直以来都认为用Swing做出来的程序太难看了,但是又无可奈何,但现在好了,有了substance.jar,只需要在你的程序中添加几行简单的代码,就可以做出非常漂亮的界面来,如果不是亲眼看到,你也许不敢相信这是真的;...
substance5.2.jar substance swing 皮肤
Java写的对Excel2007的操作小工具,POI, Swing Substance,附带源码,主要用POI对Excel操作
收录了当前绝大部分开源swing皮肤,包括Substance,JTattoo在内的38种外观,可动态切换,查看各种swing 组件在这些皮肤风格下的不同效果。包含源码及相应的皮肤库。
substance皮肤v7.1(全),包括:源码、所有依赖包。
swing substance-6.0.jar