java - 将方法 repaint() 与 JLayeredPane 一起使用吗?

标签 java swing repaint jlayeredpane

我编写了简单的应用程序,但在 repaint() 方面遇到了问题。我有一个 JLayeredPane,我在其中放置了组件。 我想重置按钮,并在单击他时将 JLayeredPane 设置为默认外观。

layeredPane.removeAll();
ayeredPane.revalidate();
layeredPane.repaint();

但是当单击按钮时,JLayeredPane 没有重置为默认值。`

有人可以帮我吗?

最佳答案

阅读 Swing 教程中关于 How to Use Layered Panes 的部分。下载演示代码。它将向您展示如何正确构建程序。

对代码进行以下更改:

if (ON_TOP_COMMAND.equals(cmd)) {
    layeredPane.removeAll();
    layeredPane.repaint();
  1. 运行程序以证明它显示分层 Pane 。

  2. 单击“图层中的顶部位置”复选框,图层将会消失。

所以你已经证明代码应该可以工作。如果它不适合您,那么您可能没有对分层 Pane 的有效引用。

如果您需要更多帮助,请发布适当的 SSCCE这说明了问题,因为我们无法根据提供的代码提供帮助,因为它应该可以工作,问题出在程序的其他地方。

关于java - 将方法 repaint() 与 JLayeredPane 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32530508/

相关文章:

java - 引发异常 [com.mysql.jdbc.CommunicationsException : Communications link failure due to underlying exception:

swing - Jtable 行跨度和列跨度

java - paintComponent 不工作(Java)

java - Spring Boot 执行器 MySQL 数据库健康检查

java - 如何让 Reactor Core 的 Flux 缓存工作

java - 如何从 Java 中的 JFrame 中删除所有组件?

java - 我的 Jtable 不刷新

Java-如何在不丢失现有绘图的情况下在 JFrame 上绘图

java - datePickerDialog Fragment,获取主 Activity 中的变量

用于大写的 Java Swing DocumentFilter