关于 java.lang.ClassCastException 问题

ibelivehk 2008-07-24 06:41:19
我今天尝试着把1。4版本升级到1。6版本,
原来用了很多Enumeration enum, 但是enum在1.6里是关键字,所以我全部改成Enumeration enumer.然后运行出错了。

源代码是
public static void setLookAndFeel() {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (Exception e) {
e.printStackTrace();
}
UIDefaults defaults = UIManager.getDefaults();
Enumeration enumer = defaults.keys();

while (enumer.hasMoreElements()) {
String key = (String) enumer.nextElement();
if (key.indexOf("font") != -1) {
Font font = defaults.getFont(key);
if (font.getSize() > 11) {
UIManager.put(key, NORMAL_FONT);
}
}
}
}

错误是:
Exception in thread "main" java.lang.ClassCastException: java.lang.StringBuffer cannot be cast to java.lang.String
at desk.gui.UI.setLookAndFeel(UI.java:115)


我应该如何修改呢? 对界面一窍不通, 还望指教阿!!
...全文
105 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
老紫竹 2008-07-24
  • 打赏
  • 举报
回复
String key = (String) enumer.nextElement();
难到是这里的问题吗?是这一行吗?
改成
String key = enumer.nextElement().toString();
楚凌风 2008-07-24
  • 打赏
  • 举报
回复
看样子好像是直接把StringBuffer当String用了
楚凌风 2008-07-24
  • 打赏
  • 举报
回复
main方法里面怎么写的
zhj92lxs 2008-07-24
  • 打赏
  • 举报
回复
UI.java:115这一行StringBuffer不能转换成String,自己看看toString()一下

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧