gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 05:53:35 30 4
gpt4 key购买 nike

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

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

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

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

enter image description here

当用户点击时:

enter image description here

如果您有任何有关如何执行此操作的想法,我将不胜感激。

<小时/>

enter image description here

最佳答案

对于选项卡,请使用 JTabbedPaneaddTab(null, icon, component) 以及您想要的 icon 图像和 component 半透明的 JLabel。您可以通过调用其 setOpaque(true)setBackground(new Color(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();
}
}

关于java - 如何使用 Swing 制作只有图标和半透明组件的选项卡标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23317213/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com