Java 选项卡是哪种类型的对象?
首先,让我解释一下我的意思,以及我打算做什么,我已经知道(并且确实知道)为了修改选项卡窗格中选项卡的外观,我需要扩展XTabbedPaneUI(X=Basic,或者您希望扩展的任何选项卡paneui)并覆盖选项卡paneui的某些方法,并将新UI设置为我的选项卡窗格将要使用的UI(Java 选项卡是哪种类型的对象?,java,swing,user-interface,paint,jtabbedpane,Java,Swing,User Interface,Paint,Jtabbedpane,首先,让我解释一下我的意思,以及我打算做什么,我已经知道(并且确实知道)为了修改选项卡窗格中选项卡的外观,我需要扩展XTabbedPaneUI(X=Basic,或者您希望扩展的任何选项卡paneui)并覆盖选项卡paneui的某些方法,并将新UI设置为我的选项卡窗格将要使用的UI(myTabbedPane.setUI(new MyNewTabbedPaneUI());),例如,在UI的扩展中,我可以执行以下操作: @Override protected void paintTab
myTabbedPane.setUI(new MyNewTabbedPaneUI());
),例如,在UI的扩展中,我可以执行以下操作:
@Override
protected void paintTabBackground( Graphics g, int tabPlacement,int tabIndex, int x, int y, int w, int h, boolean isSelected ) {
Color bgColor = tabPane.getBackgroundAt(tabIndex);
//tabPane is the way the BasicTabbedPaneUI makes reference to the JTabbedPane that is making use of him
//Do the painting of the tab background
}
方法中的第一行(也是唯一的一行)将返回我在要绘制的选项卡上设置的背景色(myTabbedPane.setBackgroundAt(0,desiredColor);
),然后我可以在我自己的TabbedPaneUI实现中使用该颜色,但是我应该如何向每个选项卡添加更多信息,例如,我想要绘制的背景百分比,或者任何类型的信息都没有(不能)存储在TabbedPaneUI的实现中,因为它是动态的,并且取决于每个单独的选项卡,所以我想,让我们在每个单独的选项卡中添加这些信息,然后意识到我不知道tab是哪种类型的对象,而且我一直无法找到tab是哪种类型的对象,我担心java中没有tab对象,所以有什么帮助来找到它,或者实现我想做的事情吗?(向每个选项卡或JTabbedPane本身添加更多信息,以便在绘制选项卡时使用更多数据?)
P.S. P:我知道这可能有点混乱,所以请对我试图解释的任何疑问置评。
- 可以设置选项卡的背景色,如图所示
- 您可以调整窗格的背景色,如图所示
- 可以完全替换选项卡组件,如中所示
我完全同意你的说法,但这并不能回答我的问题,即如何向每个选项卡添加更多信息,以便我可以修改每个选项卡的绘制方式?在调用
setTabComponentAt()
之前,getTabComponentAt()
返回null
,这表示UI委托呈现选项卡组件。我将在传递给setTabComponentAt()
的组件中存储任何上下文,如上面引用的TabComponentsDemo
中的buttonabcomponent
类所示。