在我的JavaFX应用程序中,我有一个包含多列的TableView
,其中一列以图形形式显示数据。为此,我创建了一个CanvasCell
对象,该对象创建并管理自己的Canvas
来处理绘图。绘图部分工作正常。
现在我想把Tooltips
放在Canvas
/Cell
中的一些区域上。每个Cell
可能有多个Tooltips
(这阻止了我在Cell
级别添加Tooltip
),它们应该只在图形的特定区域触发。然而,我根本没办法让它正常工作。我似乎不能很好地理解显示节点层次结构的交互(读作“根本不能”),无法将Tooltip
放在它实际工作的任何地方。
JavaFX的文档很少,所以我尝试过的所有搜索结果都是空白的。有没有人知道怎么做这类事情,或者我是不是应该暂时把它写成“没有选择”。
为了获取信息,CanvasCell
在updateItem()
上调用扩展Canvas
对象内的draw()
函数。我试图在其中创建Tooltip
的代码位于draw()
函数内部,如下所示:
Rectangle rect = new Rectangle(leftVal, topVal, width, height);
gc.fillRect(rect.getX(), rect.getY(), rect.getWidth(), rect.getHeight());
Tooltip tooltip = new Tooltip("Tooltip Text");
Tooltip.install(rect, tooltip);
但这些代码更多的是出于希望而编写,并且不会在界面中生成任何有用的东西。
如果有人能为我指明正确的方向,我将不胜感激。
https://stackoverflow.com/questions/53740820
复制相似问题