问题标签 [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 投票
1 回答
1261 浏览

netbeans - netbeans 中的 JLayeredPane

我正在尝试将两个组件 Jeditorpane 和 Jtextarea 放在 Jlayeredpane 中。我正在使用 Netbeans。我在 jlayeredpane 和两个按钮中添加了 jeditorpane 和 jtextarea。当我单击 button1 时,它应该显示消息“Hello world doing nice”。

当点击 button2 时,它应该显示消息“Hello world not doing good”。

但是,当我单击 button1 时,它会显示消息“Hello world 做得很好”,但是当我单击 button2 时,它不会显示消息“Hello world not doing good”,因为它应该将组件移到前面。有人可以告诉我如何解决这个问题。这是部分由 netbeans 生成,部分由我编写的源代码。谢谢你。

0 投票
3 回答
2106 浏览

java - Java Swing:从 JLayeredPane 中与其他 JPanel 重叠的 JPanel 清除自定义绘画

我有一个 JLayeredPane 包含三个 JPanel,其中两个重叠,我正在绘制形状。重叠的两个 JPanel 之一需要清除绘制到它的每个形状,而不会影响绘制到它下面的 JPanel 的形状从屏幕上消失。目前我正在使用这样的东西:

但这不仅清除了绘制到窗格 2 的所有内容,还清除了它下方的窗格 1。所以我的问题是:有没有办法清除绘制到一个 JPanel 上的所有内容而不影响绘制到其下的 JPanel 上的任何内容?

0 投票
1 回答
943 浏览

java - JMenuItems 在 JLayeredPane 中的更高组件上绘制

我在 JLayeredPane 的一层上的 JPanel 中有一组 JMenuItem,在更高层的 JPanel 中绘制了一个模拟光标。当菜单项重新绘制时,它们会在模拟光标上绘制(不会触发光标层的重新绘制)。有趣的是,如果我用 JButtons 或 JLabels 代替菜单项,则每次重新绘制菜单项时都会正确绘制光标。

如何确保重新绘制菜单项会导致更高层的受影响区域也重新绘制,而不直接在分层窗格上调用 repaint()? 我所描述的情况与现实有些简化:菜单项可能深深嵌套在分层窗格的子项中,它们根本不应该知道分层窗格。

这是一段伪代码,说明了我所描述的内容:

0 投票
0 回答
102 浏览

java - 如何实现出现在控件上的托盘?

我有一个像这样的屏幕:

而且我想这样做,以便当我单击按钮 A 时,会在我正在绘制的 JComponent 顶部弹出一个托盘?如何最好地实现这一点?通过忽略布局管理器并将其添加到我用作画布或某种分层窗格的 JComponent 中?

为了区分 JPopupMenu 和建议的托盘。

0 投票
2 回答
826 浏览

java - 动态 GUI 大小

我在 GUI 应用程序中调整一些 JPanel 的大小时遇到​​了这个问题。该应用程序有一个主 JLayeredPane,其中包含 2 个其他 JPanel。在 JPanel 1 中,我有一个登录表单和一个按钮。当我按下按钮时,我想让第一个 JPanel 不可见,第二个 JPanel 可见(这个面板比第一个大),但大小保持不变。贝娄是一些相关的代码。谁能帮我?

以及点击的按钮代码:

这是 JLayredPane 的一些代码:

乐:

对于按钮:

功能:

0 投票
3 回答
5253 浏览

java - 为什么paintComponent() 从来没有被repaint() 调用?

我一直在研究一个将自定义 JComponents 绘制到 JLayeredPane 上的程序,但是对组件的所有 repaint() 调用似乎什么都不做,但是当窗口重新调整大小时,paintComponent 方法会自动调用。

我一直在遵循这里给出的一些建议: 为什么从不调用paint()/paintComponent()?

但是似乎没有一个解决方案可以解决我的问题,在 EDT 上更新摆动组件,在调用 repaint() 之前手动设置组件大小,在覆盖的 paintComponent() 中调用 super.paintComponent(g) 并在之后的帧上调用 revalidate()添加新组件(尽管在这种情况下这显然不是问题)

有什么想法可以阻止通话吗?提前致谢 :)

这是 View 和 SVGElementContainer 的代码,view.setFile() 是入口点,因为它在需要显示新文档时被调用。

0 投票
1 回答
411 浏览

jlayeredpane - JLayeredPane 内的 JTabbedPane

我有一个带有一些自定义对话框的全屏应用程序,我需要能够在当前图层上方添加一个图层,我选择使用 JLayeredPane 以便我可以在默认图层上添加 tabbedPane 并将内部框架添加到模态层,但我无法让 JLayeredPane 显示任何内容。它只是纯灰色。

0 投票
1 回答
479 浏览

java - Java:为不同层组件定义mouseAdapter的jLayeredPane问题

我在我的 Java GUI 中使用 jLayeredPane。我在我的 jLayeredPane 的 DEFAULT_LAYER 上添加了一些面板(jPanelsLayer1),并且每个 jPanel 都有一个 MouseAdapter 覆盖 mouseEntered 和 mouseExited 用于我的目的。当我在 JlayerdePane 的 PALETTE_LAYER 上,在 jPanelsLayer1 的顶部添加另一个组件(jPanelsLayer2)并为它们定义 MouseAdapter 时,我遇到了问题。当鼠标进入公共区域时,不同层的jPanel的mouseEntered和mouseExited连续运行几次。我只希望 jPanelslayer2 mouseAdapters 在 jpanelLayer1 顶部看到时处于活动状态。也许一个解决方案是删除 jPanelLayer1 mouseAdapter。但这并不有效。

请指导我.....sajad

0 投票
2 回答
677 浏览

java - JLayeredPane 中的组件重叠

我在 JLayeredPane 中添加了两个组件。
1. JWebBrowser
2. JPanel

我在不同的层中添加了 JWebBrowser 和 JPanel。JWebBrowser 在 0 即底层,而 JPanel 在第一层。

现在的问题是 JWebBrowser 层与 JPanel 层重叠。

我尝试了各种方法,例如 moveToFront() 方法、在运行时定义位置、将两个组件放在同一层并使用 componentZorder 等。但问题仍然相同。

我不确定是什么导致 JPanel 层返回 JWebBrowser 层。

0 投票
1 回答
1227 浏览

java - JScrollPane 中的 JLayeredPane 中的 JTable - 你如何让它工作?

我想把从 JTable 出来的对象分层放在它上面,所以使用 JLayeredPane 似乎很自然。然而,让这个正确地绘制,正确地做标题等等是非常困难的。我该如何做到这一点:

  • 滚动时出现并匹配行标题
  • 列标题在滚动时出现并匹配
  • 桌子正确上色
  • 调整大小不会搞砸一切

请注意,因为JDesktopPaneextends JLayeredPane,这个问题的答案也允许您在 aJTable后面有一个(或任何其他组件)JDesktopPane