gpt4 book ai didi

java - 如何以编程方式知道 JButton 文本何时被截断?

转载 作者:行者123 更新时间:2023-11-30 07:38:46 24 4
gpt4 key购买 nike

我需要知道 JButton 的文本何时被布局截断。因此,为了找出答案,我在我们的自定义 ButtonUI 委托(delegate)中重写了以下方法:

protected void paintText(Graphics g, JComponent c, Rectangle textRect, String text) {
//the text argument will show an ellipse (...) when truncated
}

在方法内部,我检查文本参数是否以椭圆结尾。

有没有更好的方法让我检查文本是否被截断?椭圆呢?这是截断文本的通用符号,还是我需要寻找可以区分截断文本的本地化符号?

我注意到 OSX 将使用单个字符表示椭圆,而 Windows 将使用三个句点。我假设这是基于所使用的字体,但这让我想到了可能偷偷摸摸的其他事情。

谢谢。

最佳答案

如果将传递给 paintText 方法的文本与从 ((AbstractButton)c).getText() 返回的文本进行比较,它会不会起作用?如果不同,则文本已被截断。

最终,截断本身是在 SwingUtilities.layoutCompoundLabel 中完成的,您可以自己调用该方法,但计算使用该方法所需的所有参数似乎并不是特别容易直接。

关于java - 如何以编程方式知道 JButton 文本何时被截断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1522366/

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