目前我正在开发一个新的外观和感觉,由于许多原因,我不得不从头开始,我现在最大的问题是在具有gettext()
的组件中获取字符串的宽度和高度,以确定它应该在哪里绘制,我知道如何为普通文本获取它,但如果它呈现为html文本,该如何做??。
使用fontmetrics
确实提供了纯文本所需的一切,但使用它来处理html时,它就像是纯文本一样,所以我尝试了view.getgraphics()
并对视图对象图形的fontmetrics
执行相同的操作,但仍然是相同的,而我想要的是绘制的文本的尺寸(差异很大,比如它是否包含
高度将不准确!或者html标记中的字体发生了变化,等等。).
public Dimension getTextSize(JComponent c, Graphics g, String text) {
//this works if you want to get the size as if it's plain text
//and later in the drawing calculate the descent line distance to draw the text
g.setFont(c.getFont());
FontMetrics fontMetrics = g.getFontMetrics();
Dimension plaintTextSize = new Dimension(fontMetrics.stringWidth(text),fontMetrics.getHeight());
return plaintTextSize;
}
我已经用上面的
View view = (View) JComponent.getClientProperty(BasicHTML.propertyKey);
并将view.getgraphics()
传递给getTextSize
方法,但仍然相同。我搜索了很多次,但没有找到任何相关结果,也没有找到要使用什么类的信息,而且我不能使用TextLayout
,因为有些时候JComponent
可能不是JTextComponent
。请帮帮忙,谢谢你。
编辑
我已经20多年没有尝试这样做了,但是由于JLabel接受html,所以尝试使用html文本创建一个JLabel,然后获得标签的首选大小。
问题内容: 我使用setState更新html的一部分,但发现未呈现新的更新html。这是js fiddle 代码: HTML: js: 我省略了从服务器更新html的部分,但结果是相同的。如何让状态字符串呈现? 问题答案: 使用注入HTML作为一个字符串做出反应(但请注意,阵营将无法在它的虚拟DOM使用这个标记): http://jsfiddle.net/5Y8r4/11/ 用于执行此操作的AP
在JS中,有没有一种方法可以在HTML标记中获得整个HTML(作为字符串)?
rank ▲ ✰ vote url 43 465 86 790 url 获得一个字符串的子串 有什么方法获得一个字符串的字串,比如从一个字符串的第三个字符到最后. 可能是myString[2:end]? >>> x = "Hello World!" >>> x[2:] 'llo World!' >>> x[:2] 'He' >>> x[:-2] 'Hello Worl' >>> x[-2:] 'd
如何将字符串(字节字符串)转换为字节(字节字符串),而不必手动复制和粘贴字符串并在其前面放置b?
我有两根绳子 在两种情况下,我应该删除
问题内容: 这是我尝试过的方法以及出现问题的方法。 这有效: 这不是: description属性只是HTML内容的普通字符串。但是由于某种原因,它呈现为字符串,而不是HTML。 问题答案: 检查您尝试追加到节点的文本是否没有像这样转义: 代替这个: