问题标签 [jlayeredpane]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1683 浏览

java - Java swing jLayeredPane

我有一个代码,可以在鼠标单击时在 jLayeredpane 中的单击位置添加 jbutton。现在问题在于调整大小。当我不在运行时更改 jLayeredpane 的大小时,没有问题。当我最大化窗口并做到这一点时,jLayeredpane 将调整以适应屏幕,所以当我现在在 jpane 上添加一个按钮并且当窗口大小减小时,我添加的按钮超出了范围,所以它是不显示。有什么解决方案吗?

0 投票
1 回答
1445 浏览

java - JLayeredPane:深度和位置之间的功能区别是什么?

我正在为一个学校 Java 项目开发 Connect Four 游戏。我已经了解了 JLayeredPane 的“如何”,它按预期工作,但我不太了解某个概念背后的“为什么”。

以下是我的理解:

JLayeredPane 是一个容器,类似于 JPanel,它允许您为每个组件指定深度和位置。Depth 是一个整数,0 是底层,n-1 是顶层,n 是组件的数量。Position 是一个 int(是的,一个使用 Integer 包装类,一个只是一个基元!)指定组件在层内的位置,0 是最顶层,-1 是最底层,正整数之间,数字越小位置越高。因此,可以将单层中的四个组件从最高到最低排序到位置 0、1、2、-1。

我的问题是,有什么需要同时拥有这两个概念?

例如,我创建了三个带有图像的 JLabel:前板、后板和一块。棋子有时在frontBoard 前面,有时在frontBoard 和backBoard 之间。让我们检查第二个例子。

我可以通过以下任何一种方式获得相同的效果:

1)我可以将背板设置为第0层,位置0;该片到第 1 层,位置 0;和前板到第 2 层,位置 0

2)我可以将背板设置为第0层,位置-1;该片到第 0 层,位置 1;和 frontBoard 到第 0 层,位置 0

我已经测试了这两种方法,我找不到这两种方法之间的功能差异。

谁能帮我解开这个谜团?

0 投票
6 回答
6257 浏览

java - 使 JButton 重叠

我正在 Java Swing 中创建一个虚拟钢琴类型程序。我现在的钢琴键区域是一个带有水平 BoxLayout 的 JPanel,其中包含白色 JButton 作为白键。我也想添加黑键,并让它们与白键重叠。

我尝试过两种不同的方法。一种是使用 OverlayLayout。不幸的是,没有太多关于 OverlayLayout 管理器的在线文档,而且它在 NetBeans GUI 构建器中不可用。我不知道如何使它工作。我尝试的第二件事是使用 JLayeredPanes。即使在 Netbeans 中弄乱了它,我似乎也无法弄清楚这一点。

所以我认为我的问题很简单。如果有的话,将 JButtons 添加到其他 JButtons 之上的最佳方法是什么?或者也许有替代使用 JButtons 的钢琴键?

编辑

我结合了 aioobe 和 dacwe 的代码来获得我想要的结果。我基本上使用了 dacwe 的 z-ordering 和 aioobe 的基本尺寸(放大了一点)和 mod 7 部分。我还添加了一些变量以使事情更清楚。这就是我现在所拥有的。

多谢你们!现在我需要以某种方式将侦听器和文本附加到这些按钮上。

0 投票
1 回答
5409 浏览

java - 如何在 JLayeredPane 上设置背景颜色?

我很好奇为什么在 JLayeredPane 上调用 setBackground(Color) 似乎并没有真正设置背景颜色。我想这与 JLayeredPane 出于某种原因必须具有透明背景有关吗?无论如何,这里有一些显示问题的代码。这是在 Mac 上,所以我相信它使用的是 OSX LAF。此图像显示了由此产生的结果。

0 投票
3 回答
4656 浏览

java - Swing:显示一个透明的面板悬停在另一个面板上

我想显示一个 textArea 显示一些文本(将显示日志行),并在其上方放置一个动画 gif。我尝试了这里描述的解决方案,但我得到的只是一个灰屏。提示?

0 投票
1 回答
1030 浏览

java - JDesktopPane 和 JInternalFrame 帮助!

问候,

我有一个关于将重复的 JInternalFrames 限制为 JDesktopPane 的问题。基本上,将实例 JInternalFrame 添加到 JDesktopPane 是全面的。但是在 JDesktopPane 上限制相同实例的重复 JInternalFrame 并将该实例置于 JDesktopPane 的顶层。

我怎么能实现这个?我是否要将所有实例存储到 ArrayList 并检查它是否是关于执行的实例已经打开?

您的回复非常感谢。

谢谢,西里尔 H。

0 投票
1 回答
843 浏览

java - 我应该使用哪种布局来按顺序用 JButtons 填充 JLayeredPane?

我想按JLayeredPane顺序填写,这样当它到达右边距时,它应该从下一行开始,并用按钮填充整个框。我想设计一个销售点屏幕,我很难手动安排按钮。

0 投票
1 回答
5647 浏览

java - Java:Netbeans 中的 JLayeredPane

我正在使用 netbeans IDE 为 java 程序开发 GUI。我想在我的 GUI 中使用 JLayeredPane。我在 jLayeredPane 的两层上添加了一个 JPanel(jPanel5) 和一个 Canvas(canvas),并生成了以下代码:

如您所知,此代码无法编辑。我不希望这些在同一层(DEFAULT_LAYER)。我使用 setLayer() 方法作为:

但我仍然不确定我的建议是否成功。

如何将这些拖曳组件设置在两层上?

谢谢 !

0 投票
2 回答
3314 浏览

java - Java:JLayeredPane 调整大小问题

我正在用java编写程序GUI。我想拥有一个 JLayeredPane 作为我的 JFrame 的 ContentPane。在我的 JLayeredPane 上有两层:一层是 Canvas(canvas1),另一层是 JPanel(jPanel5)。我使用 Netbeans IDE 并生成以下代码:

盒();

当我运行我的程序时,我看到了一个奇怪的事件!当我改变 tje JFrame 的大小时;主 JLayeredPane 的大小没有改变。我为组件使用了不同的背景颜色,对我来说很明显 JLayered 的大小是永久的,但是我在它的属性中将它设置为垂直和水平可调整大小。JFrame 是可调整大小的,但主 jLayeredPane 的大小是永久的。

如何使 jLayeredPane 调整为我的 JFrame 的大小?!

谢谢你

在此处输入图像描述

0 投票
1 回答
182 浏览

java - 将字符串类型转换为 JLayeredPane

有没有办法将类型转换StringJLayeredPane?以下是我正在使用的代码:

我收到以下错误: