首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从字符串值设置RenderingHints

从字符串值设置RenderingHints
EN

Stack Overflow用户
提问于 2022-10-21 13:44:41
回答 1查看 20关注 0票数 2

我试图从将使用字符串设置的值(例如,来自application.properties文件中的值)填充一些application.properties,但在动态设置字段时无法让它传递值。

有什么简单的方法我可以做到这一点吗?我想我不是错过了一个Cast语句,就是不明白反射是如何工作的。谢谢。

代码语言:javascript
复制
import java.awt.RenderingHints;
import java.lang.reflect.Field;

...

// create the string we want to populate the hint from
String myHint = "VALUE_ANTIALIAS_ON";


// create the new hints that we want to populate
RenderingHints renderingHints = new RenderingHints(null);


// setting the value directly (like this) works:
renderingHints.put(RenderingHints.KEY_ANTIALIASING, java.awt.RenderingHints.VALUE_ANTIALIAS_ON);


// but using reflection to retrieve the field:
Field hintField = RenderingHints.class.getField(myHint);


// doesn't work...
renderingHints.put(RenderingHints.KEY_ANTIALIASING, hintField);


// and gives the error:
// public static final java.lang.Object java.awt.RenderingHints.VALUE_ANTIALIAS_ON incompatible with Global antialiasing enable key
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-21 13:57:48

它不能工作,因为java.lang.reflect.Field的实例不是java.awt.RenderingHints的实例。您需要获得字段的值:

代码语言:javascript
复制
final Object hint = hintField.get(null);
renderingHints.put(RenderingHints.KEY_ANTIALIASING, hint);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74154584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档