Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Getting the size of a tab in a JTabbedPane

 
Buckley Lee
Greenhorn
Posts: 19
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
There are no member functions in the JTabbedPane class to retrieve the size of a tab from a JTabbedPane. There are only member functions to return the # of tabs and the # of rows or columns the tabs are using. Is there a trick to get the size of each tab in the JTabbedPane?
For example, suppose there are 2 tabs in the JTabbedPane. The first tab contains the text "Tab" and the second tab contains the text "This is a Big Tab". Obviously the sizes of the tabs are going to be different, but currently there is no way to obtain their sizes based upon the member functions of the JTabbedPane class. Is there a workaround to this?
 
Ana Mihailescu
Greenhorn
Posts: 29
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

From my point of view you can only calculate it, from the size of the title string plus a constant number, for the margins.
The size of the string can be calculated in pixels using the
FontMetrics class, and of course it is dependent on the string and on the font that is used.
Ana
 
Warren Kinny
Greenhorn
Posts: 5
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In case anyone else (like I was) is still searching for the answer to this question in 2016. :-)

Size of the Tab is now specifically available via JTabbedPane.getBoundsAt(<which_tab>).

Returns the rectangle (x,y,width,height) containing the Tab.

Remember Tabs number internally from 0 to <number-of-tabs> - 1.

Cheers,
Warren K.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic