标签:java event-handling javafx javafx-8
当显示场景/舞台中的所有对象时,我希望被事件引起注意.这听起来像JavaFX不提供此功能.我对吗 ?
我解释原因:
我必须根据TableView滚动位置更新场景的其他对象.因此,我正在使用以下方法查找TableView的VirtualScrollBar:
tableView.lookupAll(".scroll-bar")
只有在实际呈现TableView之后才返回所需的ScrollBar.在“初始化”块中为空.
建筑:
我正在使用一个通用的框架 – 我会说 – 包含一个空的Pane更新的运行时,其中包含我想要显示的页面的实际内容.
因此我知道内容何时更新,但是在呈现TableView之前的大部分时间都会阻止我获取ScrollBar引用.
TableView是“页面”的一部分,并添加到内容窗格中,而不是舞台本身的更新.
我正在使用Oracle JDK8.
你有什么线索可以解决这个问题吗?
在此先感谢您的帮助.
解决方法:
当舞台可见时,您需要使用Stage类的setOnShown()方法.一旦可见,就会创建所有控件.文档说如下:
public final void setOnShown(EventHandler<WindowEvent> value)
Sets the value of the property onShown.
Property description:
Called just after the Window is shown.
标签:java,event-handling,javafx,javafx-8 来源: https://codeday.me/bug/20190529/1176150.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。