java - 滚动浏览 JScrollPane 中保存的 JLabel

标签 java swing scroll jscrollpane

我有一个 JScrollPane,它使用以下代码保存 JLabel:

//创建文本日志JPanel textLogPane = new JScrollPane(logLabel); textLogPane.setPreferredSize(textLogPaneDim); //textLogPane.setOpaque(true); textLogPane.setBorder(BorderFactory.createLineBorder(Color.BLACK)); textLogPane.getViewport().setBackground(Color.DARK_GRAY);

JLabel、logLabel 由带有 HTML 编码的字符串表示,使用
作为回车符。我根据某些行的内容显示某些图像,并且我希望能够滚动 JScrollPane、textLogPane,以便在显示该图形时显示该行。我知道我想要显示的行的内容,但我似乎不知道如何让它向下(或向上)滚动到相关行。

如果需要,我可以更改为 JLabel 以外的其他内容,只要我可以保留 HTML 编码并使其看起来像多行文本。

抱歉,如果这是重复的,我尝试搜索但找不到任何结果。

谢谢

最佳答案

您可以进行一些自定义数学计算并使用 scrollRectToVisible()在你的视口(viewport)中。我不知道如何计算 JLabel 中特定行的矩形。更好的解决方案是将字符串粘贴到 JList 中,也许使用 html 的自定义渲染器,然后使用

list.ensureIndexIsVisible(list.getSelectedIndex());

关于java - 滚动浏览 JScrollPane 中保存的 JLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3104399/

相关文章:

java - 单击按钮后如何隐藏所有 RecyclerView 行中的 View ?

java - 使用 ShareActionProvider 的共享按钮没有响应

java - 如果我只知道使用 xpath 的代码中的一些文本,我怎样才能找到该复选框?

java - 在 Swing 文本区域中用图像替换微笑

java - 重新连接问题

java - 对 JTextArea 使用撤消和重做

java - 正确的布局可根据每种屏幕尺寸灵活设置 JFrame 和 JInternalFrame

c++ - 无限滚动 QListWidget

css - 50% 宽度响应式设计问题

iOS 部分索引滚动到错误的位置