gpt4 book ai didi

java - 在 JComponent 上显示一行字符串,以便可以选择单个字符串/它们的位置 getLocation()-able?

转载 作者:搜寻专家 更新时间:2023-11-01 02:53:12 24 4
gpt4 key购买 nike

为了能够在带有 GridLayout(1,0)JPanel 上显示一个句子 [即只有一行/行] 和然后能够在其上方绘制语法树(或类似树),我想将句子显示为一行 String,每个字符串包含一个单词。

单个 String 应该可以选择(如在 JList 中),或者我至少应该能够在 JPanel 上获取它们的位置 通过 getLocation()

到目前为止,我已经尝试了以下选项,但遇到了以下问题:- 单个 String 作为 JLabel:JLabel 被拉伸(stretch)以填充 JPanel 宽度,重新调整它们的大小以适应它们显示的单个 String 似乎很复杂。但是,我希望能够做到这一点,使句子看起来 像一个句子,而不像一张布置得很糟糕的 table 。- JList:我想要的所有功能,但我不知道有一个选项可以调整单个 String 的“单元格”的大小(参见 JLabel 上面)。此外,我很难将 JList 的显示限制为单行/行(参见 another of my questions )。- JTextArea:我无法理解如何获取附加到 JTextArea 的单个 String 的位置。

我知道 drawString() 可能 是一个选项,但我不敢使用它,因为我不想混合使用 AWT 和 Swing。此外,我需要为每个 String 计算 xyint 值。而且我不确定我是否能够获得它们的位置(尽管我当然可以将它们的 int 保存在 Map 或 Vector 中,因为无论如何我都必须计算它们)。

感谢任何建议!谢谢!

最佳答案

我会使用 JTextArea 和方法 modelToView()/viewToModel() 来获取 x,y 在字符串中的位置以及在字符串中的坐标 x 和 y 的位置.

还可以使用 UtilitiesgetWordStart() getWordEnd() getRowStart() getRowEnd() 方法。

关于java - 在 JComponent 上显示一行字符串,以便可以选择单个字符串/它们的位置 getLocation()-able?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7144809/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com