Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 选项卡是哪种类型的对象?_Java_Swing_User Interface_Paint_Jtabbedpane - Fatal编程技术网

Java 选项卡是哪种类型的对象?

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

首先,让我解释一下我的意思,以及我打算做什么,我已经知道(并且确实知道)为了修改选项卡窗格中选项卡的外观,我需要扩展XTabbedPaneUI(X=Basic,或者您希望扩展的任何选项卡paneui)并覆盖选项卡paneui的某些方法,并将新UI设置为我的选项卡窗格将要使用的UI(
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
类所示。