Swing使用Substance外观包异常问题
问题一: 今天更新我的Java版QQ,在网上找到了Substance外观包,效果不错,直接用了,可是设置水印问题时就出现问题,网上有现成的例子
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
try {
SubstanceImageWatermark watermark = new SubstanceImageWatermark(LoginFrame. class .getResourceAsStream( " /demo/001.jpg " ));
watermark.setKind(ImageWatermarkKind.SCREEN_CENTER_SCALE);
SubstanceSkin skin = new OfficeBlue2007Skin().withWatermark(watermark); //初始化有水印的皮肤
UIManager.setLookAndFeel( new SubstanceOfficeBlue2007LookAndFeel());
SubstanceLookAndFeel.setSkin(skin); //设置皮肤
} catch (UnsupportedLookAndFeelException ex) {
Logger.getLogger(LoginFrame. class .getName()).log(Level.SEVERE, null , ex);
}
可是在我导入的包里死活包withWatermark方法不存在,于是就Google,最后看到一哥们说,自从subtance6.0以后就去掉了 withWatermark设置水印方法,原因貌似是不安全,可是想用水印的效果呢?那你就换成substance5.0版本吧!换了之后果然能用了效果图:北京比较淡,水印不明显。
问题二:使用subtance出现异常UIDefaults.getUI() failed: 和org.jvnet.substance.api.UiThreadingViolationException,有一前辈说是包不能识别啥的,就我遇到的问题,只是换了皮肤之后框架布局变了,不在于能不能用的问题,关键还是在代码上,我遇到的这个问题就在于我的代码设置问题,先把我的部分代码贴出来分析一下:
SubstanceImageWatermark watermark = new SubstanceImageWatermark(UserMainView.class.getResourceAsStream("/client/images/backImages/2.jpg "));
watermark.setKind(ImageWatermarkKind.SCREEN_CENTER_SCALE);
SubstanceSkin skin = new OfficeBlue2007Skin() .withWatermark(watermark); // 初始化有水印的皮肤
UIManager.setLookAndFeel(new SubstanceOfficeBlue2007LookAndFeel());
SubstanceLookAndFeel.setSkin(skin); // 设置皮肤
这是一个类,时刻要记得UIManager设置前提,放在构造方法的最前面,调用时要用到Swing工作线程 SwingUtilities.invokeLater()来调用,我在LoginView中调用的方法:
//userMainView = new UserMainView(oos, ois, v); // 加载用户信息SwingUtilities.invokeLater(new Runnable() {
public void run() {
userMainView = new UserMainView(oos, ois, v); // 加载用户信息 userMainView.setVisible(true);
} });
LoginView.this.setVisible(false);<br>}
没有少量一句,SwingUtilities.invokeLater(new Runnable()}这是Swing工作形式,我的最后出来结果了,和以前系统默认的就是大小比例的不同,不再抛出异常,我认为是代码的问题,这是今天的收获写出来大家分享一下。
这是转自别人的,感谢他解决我的问题。
Swing使用Substance外观包异常问题的更多相关文章
- Python——模块&包&异常
模块&包&异常 一. 模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义(变量)和Python语句. 模块能定义函数 ...
- 关于Android安装apk出现解析包异常问题情况总结
原文地址:关于Android安装apk出现解析包异常问题情况总结 | Stars-One的杂货小窝 说之前,可以推荐下各位使用这个开源库AndroidUtilCode,下面提及到的工具类,都是在此库中 ...
- Spring——AOP配置时的jar包异常
首先:这不是SSH整合的,这是单独配置Spring AOP的一个小例子. 所需要的jar包:如图: 我在这里出现的两个问题: 1.没有导入asm的jar包. 所报的异常为: java.lang.Cla ...
- LogFactory缺包异常
抛出异常: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/loggin ...
- [转] Socket心跳包异常检测的C语言实现,服务器与客户端代码案例
转载自:zxh2075的专栏 在Socket心跳机制中,心跳包可以由服务器发送给客户端,也可以由客户端发送给服务器,不过比较起来,前者开销可能较大.本文实现的是由客户端给服务器发送心跳包,服务器不必返 ...
- Hibernate search与Lucene包异常学习心得
最近使用了了一下Hibernate Search这个组件 这个组件是对域模型进行全文检索,在全文检索的底层实现上使用了Lucene技术 在进行小测试的时候费了很大的力气去搞定包的问题 我直接通过实例 ...
- 缺jar包异常:java.lang.NoClassDefFoundError: org/springframework/core/convert/support/PropertyTypeDescriptor
严重: StandardWrapper.Throwable java.lang.NoClassDefFoundError: org/springframework/core/convert/suppo ...
- Socket心跳包异常检测的C语言实现,服务器与客户端代码案例
在Socket心跳机制中,心跳包可以由服务器发送给客户端,也可以由客户端发送给服务器,不过比较起来,前者开销可能较大.本文实现的是由客户端给服务器发送心跳包,服务器不必返回应答包,而是通过判断客户在线 ...
- Jackson 和 fastJSON 导包异常
内容 一.异常信息 HTTP Status 400 - type Status report message org.springframework.http.converter.HttpMessag ...
随机推荐
- Font-Spider 一个神奇的网页中文字体工具,就是这么任性
文章摘要: 1>> font-spider 字体神奇 由于活动项目推广的需要,页面需要用到一些漂亮好看的字体,example : 邯郸-韩鹏毛遂体.ttf. 方正喵呜.ttf 我看 ...
- 错误 1 error LNK2019: 无法解析的外部符号 __imp__pthread_create,该符号在函数 _main 中被引用 解决方法
晚上花几分钟在windows下测了下pthread的用法,出现错误 1 error LNK2019: 无法解析的外部符号 __imp__pthread_create,该符号在函数 _main 中被引用 ...
- SQLServer和MySql的区别总结
SqlServer支持like '%'+'87'+'%' 拼接字符串 但MySql里不支持,只能用CONCAT('%','87','%')拼接,否则异常 1.递归函数的区别类别表CREATE TAB ...
- SSL及其加密通信过程
SSL及其加密通信过程 什么是SSL SSL英文全称Secure Socket Layer,安全套接层,是一种为网络通信提供安全以及数据完整性的安全协议,它在传输层对网络进行加密.它主要是分为两层: ...
- sentos7为例添加python3和python2共存
转载:https://www.cnblogs.com/JahanGu/p/7452527.html 1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命 ...
- 20145319 《网络渗透》免考—API拦截技术
20145319 <网络渗透>免考-API拦截技术 概述 本次实验在window环境下进行,主要通过编写hook代码和注入程序,将我们的hook代码通过dll文件的形式注入到目标中,拦截其 ...
- Codeforces Round #466 (Div. 2) Solution
从这里开始 题目列表 小结 Problem A Points on the line Problem B Our Tanya is Crying Out Loud Problem C Phone Nu ...
- 【Python31--pickle函数】
一.含义 1.pickle的实质是什么 答:利用一些算法把数据对象转换成“二进制文件”,存储在硬盘上,当然也可以放在数据库或者是另外一台计算机上 2.存放:picking,读取:unpicking 3 ...
- Requests 源码阅读笔记
models.py class Request(RequestHooksMixin): def __init__(self, method=None, url=None, headers=None, ...
- Linux 双向 SSH 免密登录
原理 双向,顾名思义,双方互通,此处的意思是多台 linux 两两免密登录.双向比单向多了些操作,单向只需把某一个linux的公钥发送给其他linux即可,而双向要实现集群中的每一台机器都保存其他所有 ...