I want to place a live updating component (like a timer) inside of a tab label. I was able to create a custom view Class (used instead of TabView) to insert the view of a Panel into the tab, but the component doesn’t update unless some sort of UI event happens on the tab (like a mouseover or mouseout). Is there some better way to do this? I don’t see any sort of CompTab class in the code, and the concept of the TabView class seems pretty baked into the tab implementation.

1 answer

Staff March 24, 2016

Yes, agree Tabs has baked into the tab TabView concept. Tab view rendering is triggered with Tabs painting. If you change a tab view content it doesn’t bring to it re-painting. So, if you have dynamically updated TabView you should call repaint of Tabs component every time the view is updated. To minimize re-paint overhead repaint only an area of the Tabs component that keeps the TabView with Tabs.repaint(x,y,w,h) method. 

#1

Please login or Register to Submit Answer