gpt4 book ai didi

java - Java Swing中的小问题

转载 作者:行者123 更新时间:2023-12-02 08:14:49 26 4
gpt4 key购买 nike

我定义了ToolTipUI类,它扩展了BasicToolTipUI,用于建议绘制swing组件的TipText,我使用分隔符“|”(竖线)来区分TipText的两个阶段。该分隔符之前的所有文本都被视为普通工具提示文本,该分隔符之后的所有文本都被视为加速器绑定(bind)文本。

如您所知,竖线(“|”)是非常常见的字符,通常在字符串中使用。如果是这种情况,则不应将其视为分隔符,并且它具有真正的含义。例如:

label.setToolTipText("<HTML><BODY><LEFT>V1|V2</BODY></HTML>"); Normal use
label.setToolTipText("<HTML><BODY><LEFT>V1V2</BODY></HTML> | ctrl+v"); Use as delimiter

我的问题是 ToolTipUI 现在不知道如何识别这个不同,我无法更改分隔符“|”到另一个不寻常的值(value)特别建议。

有人有想法吗?

谢谢

最佳答案

如果您不能使用 Mark Elliot 的建议将参数作为两个单独的字符串传递,那么这些内容可能会有所帮助或使事情变得更糟:

  private int delimPosition(String s) {
int eos = s.toLowerCase().lastIndexOf("</html>");
return s.indexOf('|', eos+1);
}

(我猜您正在使用的 s.indexOf('|') 的替代品)。

尽管我怀疑一旦解决了所有的极端情况,这种方法的复杂性可能会大大增加。也许现在重构会更好。

关于java - Java Swing中的小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6659111/

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