问题标签 [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.
java - 将带有 JPanel 的 JToggleButton 放入 JTable 单元格中
我需要一个 JToggleButton(具有自定义背景),其中包含一个 JPanel,其中包含多个 JLabel。那部分有效。
该按钮随后被放置在 JTable 单元格中,并且旨在由用户按下。问题是我只能在第二次点击时按下按钮。Apperenty 在第一次单击时,焦点首先跳转到带有 JLabels 的面板,然后才跳转到实际按钮。
我尝试了几件事来尝试解决这个问题,但同样的问题仍然存在。A) 将带有标签的 JPanel 直接放在 JToggleButton#add() 上。B) 使用 JLayeredPane 将 Button 和 JPanel 放置到 JToggleButton 采用约束 Integer(-) 的不同层上,以便带有 JLabels 的 JPanel 在顶部保持可见
你有什么建议吗?谢谢
下面是说明问题的示例代码。单击该按钮仅第二次起作用。
java - JLayeredPane 和绘画
我正在编写一个应用程序,它有一个 JLayeredPane(称为层),其中包含不同层中的两个 JPanel。我覆盖了底部JPanel 的paintComponent 方法(称为grid_panel),因此它绘制了一个网格,并覆盖了顶部JPanel 的paintComponent 方法(称为circuit_panel),因此它绘制了一个电路。
以下是结构的摘要:
我希望 grid_panel 保持静态,即不进行任何重绘(最初的重绘除外),因为它不会改变。
问题是,每当我调用 circuit_panel.repaint() 时,grid_panel 也会被重新绘制! 这绝对是没有效率的。
我认为这是由于 JLayeredPane 的热切绘画行为。有没有办法在 JLayeredPane 中禁用此功能?
如果你有兴趣看看上面的效果,我写了一个小演示程序:
java - 在最后一个 internalFrame 前面添加
我正在使用 Java Swing。我在分层窗格中的菜单的帮助下添加内部框架。
每当在其中添加一个新层(另一个新的内部框架)时,它都会位于所有框架的后面。您能否告诉我如何将新添加的 jInternalFrame 置于 jLayredPane 上所有现有内部框架的顶部。
谢谢!
java - 在 Java 游戏中实现拖放
我正在开发一个棋盘游戏,它是一个 8x8 网格,有 5 个不同颜色的图像。只要对象在一行或一列中彼此相邻,它们就可以交换。如果切换导致 3 个或更多对象在一行或一列中相同,它们将被删除。如果切换不导致匹配,则切换不会发生。当物体被移除时,板子会塌陷,使得位于移除物体上方的物体落下以取代它们的位置,新的物体从顶部落入以填充空间。
我想知道一种实现拖动操作和物体掉落的好方法。我应该使用分层窗格吗?
任何想法都会帮助我。
java - Java Swing 混合面板
这似乎是一个新手问题,除了我长期以来一直试图围绕 Swing 框架进行思考。
如果您提供至少 500 像素正方形的图像 dog.jpg,则以下代码应在滚动窗格中显示该图像。如果它显示什么,我可能不会绝望地举起双手。我错过了什么?
谢谢!
java - 分离 JLayeredPanel
我在分层窗格中有一组面板。我需要一个分隔符来将侧边栏与顶部栏和 tabbedPanel 分开。我留下了一个 10 像素的缓冲区来放置它。不幸的是,可能由于它是 JLayeredPane,我无法查看它。
有没有办法定义分隔符的 X 位置?因为这应该解决它。无论哪种方式,这是一个代码示例,我从中删除了大部分信息。
或者,提供一个完全不同的解决方案,只要我可以从侧边栏和其他两个面板中获得定义的拆分。我已经尝试将 BorderLayout.WEST 应用于侧边栏,但由于它是 JLayeredPane,它给了我错误。
java - 如果 JLayeredPane 中的面板在添加到 JLayeredPane 后被编辑,它会发生变化吗?
使用将 JPanel 添加到 JLayeredPane 之后
添加后,如果我们更改面板,JLayeredPane 中的面板是否也会更改?
java - JLayeredPane 格式问题
我有一个问题JLayeredPane
,我可能正在做一些非常简单的事情,但我无法绕过它。我遇到的问题是所有组件都合并在一起并且没有顺序。你能否纠正这个问题,因为我不知道。我想做的顺序是这样的布局
输出
label1(后面)
输入(前面)
和主班。
感谢您抽出宝贵时间,我不希望为我编写代码,我想要的只是提示我哪里出错了。
swing - JLayeredPane 上的透明 JLabels
我试图在重叠的 JLayeredPane 上显示几个 PNG 图像。
这是生成包含图像的 JLabel 并将其添加到 JLayeredPane 的当前代码:
和 createLabelForImage() 方法:
我得到的是对象正确重叠,但 PNG 图像的透明背景被一种白灰色替换。
ImageIcon 有问题吗?使用 JLayeredPane ?也许我必须设置诸如 label.setBakground(sort_of_transparency_code) 之类的东西?
提前致谢 :)
java - 获取 Swing 组件的适当尺寸
我正在尝试 JLayeredPane。所以,在下面的代码中,我创建了 aJLayeredPane
和 a JLabel
。我将标签添加到分层窗格中,然后将其添加到JPanel
. 然后将该面板添加到 JFrame。
现在的问题是,如果我没有声明label.setBounds(20, 20, 400, 40);
,那么标签不会出现在分层窗格上。这提出了两个问题:
- 为什么
setBounds
如此重要? - 可能是我之前的问题回答的一部分,标签在设置边界之前的初始高度和宽度为0,这可能
setBounds
是重要的原因。在这种情况下,我想知道在将 Swing 组件添加到JLayeredPane
. (如果我的 bounds 小于组件的适当大小,组件会出现隐藏)
编辑:第一个问题在这里得到了更详细的回答。