当前位置: 首页 > 面试题库 >

在JEditorPane中获取可见文本

蔚承天
2023-03-14
问题内容

我在JScrollPane中有一个JeditorPane。在应用程序中的某些点,我想检索在scrollPane中可见的文本(当前正在显示的文本)以及仅此文本。有没有办法做到这一点?

谢谢,

艾略特


问题答案:

您可以使用视口来获取视图的位置和大小。

JViewport viewport = scrollPane.getViewport();
Point startPoint = viewport.getViewPosition();
Dimension size = viewport.getExtentSize();
Point endPoint = new Point(startPoint.x + size.width, startPoint.y + size.height);

一旦知道了视口的起点/终点,就可以使用:

int start = editorPane.viewToModel( startPoint );
int end = editorPane.viewToModel( endPoint );

一旦知道了文本的偏移量,就可以从组件中获取文本:

String text = editorPane.getText(start, end - start);

没有代码经过测试。



 类似资料:
  • 问题内容: 如何使用不带HTML标记的Selenium Webdriver获得网页的可见文本部分? 我需要与Htmlunit中的函数HtmlPage.asText()等效的东西。 仅使用WebDriver.getSource函数获取文本并使用jsoup解析文本是不够的,因为页面中可能存在隐藏的元素(通过外部CSS),我对此并不感兴趣。 问题答案: 这样做(或使用其他选择器选择顶部元素),然后对该元

  • 如何在中获取当前项?在我的用例中,RV项占用了所有屏幕空间,因此一次只有一个项。我以前试过谷歌,但没有找到任何有用的东西。

  • 问题内容: 我正在开发一个Swing应用程序,其中必须显示HTML文件。 我正在为此使用控件。它显示的是HTML文件的内容,但格式与实际HTML文件中的原始格式不同。 不支持该元素。与其加载目标文件,不如显示它。 Swing中是否还有其他内置控件来浏览HTML文件而不是? 我正在使用以下代码: 问题答案: 在核心Java中进行更高级的HTML呈现的最佳选择是使用基于JavaFX的组件,如向Java

  • 问题内容: 我整天一直在搜寻,找不到答案,因此如果已经回答了,请提前道歉。 我正在尝试从大量不同的网站中获取所有可见的文本。原因是我要处理文本以最终对网站进行分类。 经过几天的研究,我认为硒是我最好的机会。我发现一种使用Selenium来捕获所有文本的方法,不幸的是同一文本被多次捕获: 该内部条件环路消除同一文本多次读取的问题的尝试-但是,它没有,只是作为计划在某些网页的工作。(这也使脚本慢很多)

  • 这就是我想要的: 如上图所示,我想在上画一条中心线,然后在滚动时获得中心项(以及向左或向右移动) 以下是我尝试画一个水平的: 有没有办法知道哪个项目移动到了回收视图的中心?如何将向左或向右滚动一个位置? 更新:我尝试使用滚动侦听器来获得中间位置,但它不能作为一个方面。 并得到结果: 我只想在蓝色上更改选中的项目(使文本变为白色)

  • 是否可以用开放源码软件库pdfbox提取已签名PDF的可见签名(图像)? 工作流: null 像下面这样的oop风格的东西会很棒: 找到了类PDSignature和如何签署一个PDF,但没有解决方案提取一个可见的签名作为图像。