问题标签 [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 - JLayeredPane 不绘图
再会,
希望这是一个快速的问题。我正在编写一个在 JFrame 中使用 JPanels 和 JLayeredPane 的应用程序。在我的应用程序最初启动时,其中一个面板不会显示,直到我的鼠标移到面板应该所在的区域上。我什至调用了 validate 和 repaint 方法,但我仍然能够同时显示两个面板。有什么建议么?谢谢你。
这是我的 JFrame 类(具有 main 方法)
这是我的小组课程之一
最后是我的最后一堂小组课
java - JLayeredPane 中的透明 JPanel
我见过几个类似的问题,但不幸的是其中包含的建议并没有完全为我完成。
总体目标:我有一个滑块,我想在一个主要显示可视化的窗口的左上角显示(这里是“显示”)。滑块应覆盖在没有任何背景的可视化顶部。
到目前为止,我有一个 JPanel,在 JLayeredPane 的可视化上方的图层上包含我的滑块。问题是,尽管调用了 setOpaque 和/或 setBackground(new Color(0,0,0,0)),但 JPanel 的背景(包括滑块)显示为灰色。我正在使用 Nimbus LAF。
最初,我使用了 Absolute Layout,它以非常优雅的方式完成了几乎所有事情,并且代码最少。那里的问题是可视化没有随窗口自动调整大小(但如果有一种干净的方法可以使可视化随窗口调整大小,我愿意接受这种方法)。
非常感谢!
java - 单个面板的 Java Swing GlassPane 功能?
我已经构建了一个简单的界面来填充我的整个 JFrame。我正在使用在互联网上发现的 FinalGlassPane 类的一个版本。
此玻璃窗格没有常规事件侦听器,但它监视其底层组件的 AWTEvent。这样就有了界面的全部功能,我可以使用单个 AWTEvent 处理程序响应全局鼠标移动坐标,并相应地在所有内容上进行绘制。一切都很好,但现在我需要这个功能的副本,每个都有自己的坐标空间和事件处理程序,在主 JFrame 内。我刚刚了解了 JLayeredPane,但想确保使用它可以实现此功能。IE 在顶部添加了一个完全透明但可绘制的 JPanel 层,用它处理 AWTEvents,并且仍然可以正常触发底层事件。
编辑:我正在阅读有关在 JDesktopPane 内使用多个 JInternalFrame(和相关的玻璃窗格)的信息。我不认为 JDesktopPane 与布局管理器一起使用,所以我必须在需要时绝对定位/调整 2 帧的大小,但这可能是最好的选择。结束编辑
我要做的最后一件事是为每个界面组件添加鼠标移动侦听器,并且必须转换为父面板坐标才能运行相同的方法。
如果必须,我可以继续监视整个玻璃窗格鼠标坐标,并找出如何从那里分支逻辑。不过,自给自足和个性化会更好。
最后一个警告,我想最终把它带到 Android 上,但对 Android 图形一无所知。如果没有分层面板功能,我几乎宁愿先用更难、更便携的方式实现它。
java - 将 JLayeredPane 引入现有的 JFrame
我一直在盯着 Oracle 的 JLayeredPane 教程,但它们的布局方式让我感到困惑,并且没有理解我想要做什么。
我有一个应用程序,到目前为止还没有层的概念。一切都布置在一个单层中,在一个 JFrame 内。
我现在想介绍一个零星出现的组件,根据需要,在某个位置,覆盖正常停留在那里的现有组件。我是否必须修改我现有的应用程序 JFrame,以便将其所有顶级内容(即直接添加到 JFrame 的组件)添加到 JFrame 的 JLayeredPane 中?
或者,究竟是什么?
我正在寻找一种简单的方法来调整此 gui 以使用现有 GUI 的最少返工的层。
在此先感谢您的任何帮助。
java - 新手 JLayeredPane 问题
我只是无法通过 JLayeredPanes 上的第一格。(请参阅我昨天的原始问题。我一直在研究 JLayeredPane 教程和 API。这些教程与我最终尝试制作的内容有些不同。
回到第一方,我采用了 Oracle 的 JFrame 示例并对其进行了修改以包含分层窗格。
这是代码:
为什么它不起作用?IOW,为什么子标签不显示?它比主层更高。
一个想法是为什么我将 mainLayer 添加到内容窗格和分层窗格中?如果我不这样做,什么都不会出现。即,通过注释掉这一行,我得到一个空白框。
显然,我不明白的东西。但它是什么?
我应该补充一点,这个简单的演示可以在没有分层窗格的情况下完成。但我的最终目标是拥有一个可以通过编程方式打开和关闭的层。但我什至无法让这个简单的案例起作用。如果我能克服这个困难,我想剩下的会更容易。
附录:
下面的代码说明了我想要实现的目标,它与下面设置的 TrashGod 非常相似,并且可以正常工作。有一个 JLayeredPane 具有一个常量层(在 Integer(0) 分层)和一个浮动层,最初在 Integer(-1) 分层,但可通过 Integer(-1) 层和 Integer(1) 之间的 F7 和 F8 键击切换层,从而允许它在恒定层之上或之下浮动。
但是,我无法在我的真实案例中使用它。两者之间的区别在于,在这里,我的 JLayeredPane 由 Frame 拥有,而在我的实际应用程序中,我希望 JLayeredPane 由 JPanel 拥有,因为 Frame 包含层次结构中的某些级别,其大小为由其父级中的 GridBagLoyout 设置,因此在调用其构造函数时大小是不可知的,因此很难调用我需要在 JLayeredPane 的子级上执行的 setBounds()。
进一步的附录。我知道 Oracle 教程提到了将布局而不是绝对定位与 JLayeredPane 一起使用的情况。这种情况和我的不同之处在于,在我的情况下,层在不同层上占据相同的水平空间,而在这种情况下,不同层上的组件占据不同的水平空间。就好像我们需要一个 3D 布局管理器一样!
java - java JLayeredPane如何在Window builder生成的另一个面板前面添加JPanel
我正在用java编写某种应用程序,我必须在另一个对象前面放置一些东西(按Z顺序)我知道我应该使用JLayeredPane,但实际上我对它不是很熟悉。我的想法是制作两个具有不同 Z 顺序因子的 JPanel,同时将它们插入 JLayeredPane。我粘贴了我的代码http://www.wklejto.pl/130038 如果您告诉我出了什么问题,我将不胜感激,因为我做了很长时间没有效果。
java - 调整 LayeredPane Swing 的大小
我有一个使用 BorderLayout 并包含 jTable 和 layeredPane 的 JPanel。我需要使用 layeredPane,因为它在 jTextPane 之上包含一个 jComboBox。问题是当用户调整屏幕大小时,layeredPane 不会调整大小。我怎样才能解决这个问题?我有这样的事情:
对分层窗格使用布局管理器将不起作用,因为我需要重叠组件。
java - 你能解释一下这些说法吗?
我在互联网上遇到了一个使用这两种说法的例子:
(dp 是 JDesktopPane 对象, bg 是 JLabel)
如果您想知道它们是如何使用的,那么这就是我所看到的: http: //www.coderanch.com/t/329874/GUI/java/put-background-image-swing
当谈到 Java 时,我是一个初学者,我理解示例的其余部分,只是不理解这两个语句 - 我不知道他们在做什么,这让我很烦恼!最让我困惑的是“new Integer(50))”,但请你对这两者给出一个彻底的、对初学者友好的解释吗?我会很感激的。
提前致谢,
亚历克斯。
java - 如何创建一个由 JLayeredPane 组成的 JFrame,并且能够在 Applet 上绘图?
我正在尝试创建一个 GUI,我可以在其中根据 Applet 中的内容在 Applet 的“上方”绘制。为了测试这一点,我试图通过使用 JLayeredPane 创建一个带有填充背景的面板来填充一个简单的矩形,以显示在小程序上。我无法让它工作,但我尝试了它。
当我运行我的程序时,小程序不显示或初始化。
java - 在 JLayeredPane 上移动 JLabel
我需要在 JLayeredPane 上动态移动一些 JLabels。问题是它们没有正确刷新。有时它们会正确移动,有时它们根本不会出现。
我的代码如下所示:
构建面板
添加 JLabel:
当它确实显示 JLabel 时定位是正确的,但它并不总是显示它......这里出了什么问题......