removeAll 不在下次验证时删除?

2023-12-08

有人可以解释为什么以下内容不能按我的预期工作吗?

按下按钮“应该”会导致显示仅包含(空)JScrollPane,即输入字段和按钮应该消失。然而,它们会一直保留到调整组件大小为止......

public static void main(String[] args)
{
    JFrame frame = new JFrame("test");
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    final JPanel panel = new JPanel();

    Container cp = frame.getContentPane();
    cp.setLayout(new FlowLayout());
    cp.add(new JScrollPane(panel));

    Component textField = new JTextField("i am input");
    JButton button = new JButton(new AbstractAction("i am pressy")
    {
        @Override
        public void actionPerformed(ActionEvent e)
        {
            // this is already on the EDT
            panel.removeAll();
            panel.revalidate();
        }
    });

    panel.setLayout(new FlowLayout());
    panel.add(textField);
    panel.add(button);

    frame.pack();
    frame.setVisible(true);
}

感谢您的帮助。 p。


更新可见 GUI 时,代码应为:

panel.revalidate();
panel.repaint(); // sometimes needed, this appears to be one of them
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

removeAll 不在下次验证时删除? 的相关文章

随机推荐

  • 禁用 freemarker 日志

    我正在使用 Struts 2 0 11 2 但我不知道我的应用程序最近发生了什么变化 我收到了大量的 freemarker 日志 DEBUG 13201 freemark template simple hidden ftl en UTF
  • 如何将 LaTeX/amsmath 与 matplotlib 一起使用?

    当我尝试在 matplotlib 中使用 LaTeX amsmath 包时 出现了一系列难以理解的错误 有没有人能够让这样的事情发挥作用 如果是这样 我很想看一个例子 这是我尝试过的 import matplotlib from matpl
  • iPhone 上的 UIPopoverPresentationController 不产生弹出窗口

    我正在尝试实施新的UIPopoverPresentationController在我的 iPhone 应用程序中 使用 Objective C 我想要的是一个简单的弹出窗口 其中包含从启动按钮发出的表格视图 Edit 这是我的REVISED
  • Python 3.4.0 与 MySQL 数据库

    我已经安装了Python版本 3 4 0我想做一个使用 MySQL 数据库的项目 我下载并尝试安装MySQLdb 但对于这个版本的 Python 来说并不成功 有什么建议可以解决这个问题并正确安装吗 MySQLdb 不支持 Python 3
  • 为什么这个内存地址 %fs:0x28 ( fs[0x28] ) 有一个随机值?

    我编写了一段 C 代码 并将其反汇编并读取寄存器以了解程序在汇编中的工作原理 int test char this char sum buf 6 strncpy sum buf this 32 return 0 我一直在检查的代码片段是测试
  • Python:使用 isin 或 wkn 调用 pandas_datareader 或将其转换为股票代码?

    我有一份包含 ISIN 和 WKN 编号的股票清单 我的目标是使用 pandas datareader 获取该股票的历史数据 我的问题是 该功能例如 import pandas datareader as web stock web Dat
  • Android HttpPost:如何获取结果

    我一直在尝试发送 HttpPost 请求并检索响应 但即使我能够建立连接 我仍然不知道如何获取请求响应返回的字符串消息 HttpClient httpclient new DefaultHttpClient HttpPost httppos
  • 在 PHP 中从 MySQL 创建下拉菜单?

    我对 PHP 和 MySQL 有一定的经验 所以我有点掌握了一些东西 但是我有点试图得到一些可能超出我水平的东西 不太确定这方面的难度级别 基本上 我希望创建 2 个下拉菜单来删除 MySQL 表中用户的访问权限 因此 第一个下拉菜单将用于
  • solr 评分 - fieldnorm

    当我搜索 iphone 时 我有以下记录和分数 记录1 字段名称 显示名称 Iphone FieldName 名称 Iphone 11 654595 MATCH sum of 11 654595 MATCH max plus 0 01 ti
  • 在全屏 3D 应用程序中获取桌面屏幕截图

    使用全屏 3D 应用程序 例如游戏 时是否可以将桌面渲染为屏幕截图 或者游戏运行时Windows会关闭渲染引擎吗 我正在寻找将桌面渲染为游戏中纹理的方法 类似 RDP 的协议可以作为解决方案吗 编辑 为了澄清 是否有任何深层 API 机制可
  • 如何从 TOleContainer 中提取图元文件?

    我有一个带有 TOleContainer 控件的 Delphi BDS 2006 应用程序 它内部有一个 OLE 对象 即 MS Office 2003 中的 MS Equation 公式 名称 Equation 3 如何从公式图像中提取矢
  • 在 C++ 中使用 istringstream

    我有一些代码利用 fork execlp 和 wait 来创建两个进程 目标是能够重复打印提示并让用户输入最多包含 4 个参数 选项的命令 int main string command argument istringstream iss
  • 什么是静态工厂方法?

    什么是 静态工厂 方法 The 静态工厂方法模式是一种封装对象创建的方法 如果没有工厂方法 您只需调用该类的构造函数直接地 Foo x new Foo 使用这种模式 您可以调用工厂方法 Foo x Foo create 构造函数被标记为私有
  • 如何避免 SQL 中 INSERT 的重复值?

    我有一张表 名为 Delegates 该表有四个字段 ID Auto increment Primary MemberNo FromYr ToYr 我用这个查询插入 INSERT INTO Delegates MemNo FromYr To
  • 即使可用堆内存远大于已用内存,也会出现堆内存不足的情况

    即使我使用以下命令运行具有高堆内存的节点 也会收到以下错误 node max old space size 8000 manipulateFiles js FATAL ERROR invalid table size Allocation
  • Xml 或 Sqlite,何时删除数据库的 Xml? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我真的很喜欢 Xml 来保
  • html 中的亮/暗模式,无 CSS(仅 html)

    有一种方法可以让 HTML 元素处于暗模式 如果用户在他的系统中激活了 黑暗模式 如果用户喜欢使用标准颜色 则为 浅色模式 当用户打开网站时 所有这些都会自动进行 没有任何按钮 我希望如果用户从设置中更改主题颜色首选项 它将自动直接切换到正
  • django删除源文件并生成pyc文件

    我想删除 django 项目中的所有 py 文件 但是 pyc 文件尚未生成 需要更改哪些设置才能生成 pyc 文件 compileall可以用来编译项目目录下的所有Python脚本 python m compileall path to
  • Swift 调用 C 调用 Swift?

    其他人已经讨论了如何从 Swift 调用 C 代码 并且效果很好 其他人还讨论了将 Swift 作为 C 代码的子例程调用是一个坏主意 因为需要设置整个 Swift 运行时 但我的问题是 如果我的程序基于 Swift 并调用 C 子例程 但
  • removeAll 不在下次验证时删除?

    有人可以解释为什么以下内容不能按我的预期工作吗 按下按钮 应该 会导致显示仅包含 空 JScrollPane 即输入字段和按钮应该消失 然而 它们会一直保留到调整组件大小为止 public static void main String a