因此,我正在使用 NetBeans 的 GUI 构建器创建一个小型 Java 程序。我在屏幕上有一大堆标签(碰巧是图标)——有时它们会被发送到同一个确切的位置。如何确保最后发送的标签实际上显示在一堆标签的顶部?以及确保 mousepress 事件来自顶部标签,而不是下面的标签之一?
这就像我学习 Java 的第三天,如果这是一个愚蠢的问题,请原谅:D
因此,我正在使用 NetBeans 的 GUI 构建器创建一个小型 Java 程序。我在屏幕上有一大堆标签(碰巧是图标)——有时它们会被发送到同一个确切的位置。如何确保最后发送的标签实际上显示在一堆标签的顶部?以及确保 mousepress 事件来自顶部标签,而不是下面的标签之一?
这就像我学习 Java 的第三天,如果这是一个愚蠢的问题,请原谅:D
使用带有 setLayout的CardLayout 。有了它,您可以将东西堆叠在另一个上。
假设您为 CardLayout 的每个“卡片”使用 JPanel,在其上放置 JLabel。然后你需要使JPanel透明:
jPanel.setOpaque(false);
我相信 JLabel 本身已经是透明的。
如何确保最后发送的标签实际上显示在一堆标签的顶部?
将标签的 ZOrder 设置为零。ZOrder 控制面板上组件的绘制顺序。
另一种方法是使用:
panel.add(0, label);
这与添加组件时设置 ZOrder 的效果相同。