【问题标题】:Java ImageView get position and set alignmentJava ImageView 获取位置并设置对齐方式
【发布时间】:2017-03-28 20:38:08
【问题描述】:
【问题讨论】:
标签:
java
html
swing
imageview
jeditorpane
【解决方案3】:
有点晚了,但我遇到了同样的问题。解决这个问题的唯一方法,或者我这样做了,是创建自己的 ImageView 并覆盖其 setPropertiesFromAttributes() 函数中的 vAlign 值。问题是,setPropertiesFromAttributes 是受保护的,所以你必须将 ImageView 的整个原始代码复制并粘贴到自己的代码中,然后将代码替换为:
vAlign = 1.0f;
if (alignment != null) {
alignment = alignment.toString();
if ("top".equals(alignment)) {
vAlign = 0f;
}
else if ("middle".equals(alignment)) {
vAlign = .5f;
}
}
vAlign = .745f;
您还需要创建自己的 HTMLEditorKit 并覆盖 getViewFactory():
@Override
public ViewFactory getViewFactory() {
return new HTMLEditorKit.HTMLFactory() {
public View create(Element e) {
View v = super.create(e);
Object o = e.getAttributes().getAttribute(StyleConstants.NameAttribute);
if (o instanceof HTML.Tag) {
HTML.Tag kind = (HTML.Tag) o;
if (kind == HTML.Tag.IMG) {
return new MyImageView(e);
}
}
...