Java 如何使用Swing制作只有图标和半透明组件的选项卡标题?

Java 如何使用Swing制作只有图标和半透明组件的选项卡标题?,java,swing,user-interface,netbeans-7,Java,Swing,User Interface,Netbeans 7,我想在Swing GUI中创建一个选项卡式窗格,使选项卡标题显示为图标(即,我想在选项卡式窗格标题上放置图片,就像我们可以在按钮上放置图片一样) 具有选项卡式窗格标题的GUI显示为图标(只有这些标题上的图片可见,整个组件的其余部分完全透明),当用户单击图片/图标/选项卡式窗格标题时,整个选项卡式窗格变为半透明,并显示其内容(如文本)。随附的照片更能说明这一点。请注意,选项卡式窗格没有可见边框 可能吗?欢迎提供任何提示或建议? 此外,这种透明和半透明的swing组件是否可以通过NetBeans I

我想在Swing GUI中创建一个选项卡式窗格,使选项卡标题显示为图标(即,我想在选项卡式窗格标题上放置图片,就像我们可以在按钮上放置图片一样)

具有选项卡式窗格标题的GUI显示为图标(只有这些标题上的图片可见,整个组件的其余部分完全透明),当用户单击图片/图标/选项卡式窗格标题时,整个选项卡式窗格变为半透明,并显示其内容(如文本)。随附的照片更能说明这一点。请注意,选项卡式窗格没有可见边框

可能吗?欢迎提供任何提示或建议?

此外,这种透明和半透明的swing组件是否可以通过NetBeans IDE的拖放功能实现?

当用户单击时:

如果有任何关于如何做到这一点的想法,我将不胜感激。



对于选项卡,使用
JTabbedPane
addTab(null,icon,component)
icon
所需的图像以及
component
半透明的
JLabel
。您可以通过调用其
setOpaque(true)
setBackground(新颜色(255、255、255、100))
来创建一个

编辑

试着运行这个,看看它是否越来越接近你想要的

public class TransparentTabs extends JFrame {

    private final static Color TRANSPARENT = new Color(0, 0, 0, 0);

    TransparentTabs() {

        JTabbedPane tabs = new JTabbedPane();

        JLabel label = new JLabel("Text Here");
        label.setOpaque(true);
        label.setBackground(TRANSPARENT);

        tabs.addTab(null, new ImageIcon("path to image"), label); // Change path
        tabs.addTab("Tab to the left has only an image", new JLabel("Something"));
        tabs.setSelectedIndex(-1);

        getContentPane().setBackground(Color.RED); // Placeholder for background image
        getContentPane().add(tabs);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        pack();
        setVisible(true);
    }

    public static void main(String[] args) {

    UIManager.put("TabbedPane.contentAreaColor", TRANSPARENT);
    UIManager.put("TabbedPane.selected", TRANSPARENT);
    UIManager.put("TabbedPane.background", TRANSPARENT);
    UIManager.put("TabbedPane.borderHightlightColor", TRANSPARENT);
    UIManager.put("TabbedPane.darkShadow", TRANSPARENT);
    UIManager.put("TabbedPane.focus", TRANSPARENT);

        new TransparentTabs();
    }
}

是的,有可能。。。你试过什么?向我们展示您的代码。使用
JavaFX
——替代/取代Java 8中Swing的新UI工具包,也可能值得一看。在JavaFX中,制作现代用户界面要简单得多,速度也快得多。谢谢,您能澄清一下“和组件半透明的JLabel”是什么意思吗?这是否意味着我必须在选项卡式窗格中添加JLabel?@Zarah
JTabbedPane
中的选项卡由“标题”和“显示的组件”组成。您需要创建一个
JLabel
,并将其作为参数传递给
addTab
方法。我建议您尝试编写一些代码并发布,这样我们可以更好地解决您的问题。我不能用Netbeans GUI builder吗?@Zarah我不知道,我既不使用Netbeans,也不使用GUI builder。然后我必须理解一些代码,然后编写代码来完成。在我设置之前,请您确认(1)我想在上面的问题中问的是,选项卡应该看起来像图标(只有标题中的图标应该是可见的,组件应该是不可见的)(2)当用户单击图标时,选项卡的半透明体会打开/显示。我仍然怀疑我是否把我的观点讲清楚了。所以我还是想确认一下,这可能吗?