当前位置: 首页 > 面试题库 >

removeAll在下次验证时不删除吗?

洪德寿
2023-03-14
问题内容

有人可以解释以下原因为何无法达到我的预期吗?

按下按钮“应该”将导致显示中仅包含(空)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


 类似资料:
  • 问题内容: 我有成员类的简单ArrayLists: 会员等级: 朋友的ArrayList包含所有用户朋友。我只希望从好友列表中删除组成员(如果存在): 但这对列表没有任何帮助… 查看日志语句,该朋友实际上确实出现在列表中。 为什么不起作用? 问题答案: 如何确定2个成员相等?我猜它们是否具有相同的ID,您认为它们相等,但是Java希望它们成为内存中的完全相同的引用,而事实并非如此。要更正此问题,您

  • 我已经创建了一个删除对象的表单,但是我需要检查想要删除对象的用户是创建该对象的用户。我希望在表单(以及视图)中检查它,因为它是一个业务约束。在init、delete或clean方法中,哪里是检查的最佳位置?

  • 我在比较< code>removeAll(集合的速度时获得了一些乐趣 让我们假设我有两个不太小的集合,比如100000个连续的整数元素,而且它们大部分重叠,例如,5000个在左边,而不是右边。现在我只需打电话: 当然,这一切都取决于左集合和右集合的类型。如果正确的集合是一个哈希图,那么它会非常快,因为这就是查找的地方。但仔细一看,我发现了两个我无法解释的结果。我尝试了所有的测试,既有排序的<cod

  • 描述 (Description) KnockoutJS Observable removeAll()方法删除所有项并将它们作为数组返回。 语法 (Syntax) arrayName.removeAll() 参数 (Parameters) 不接受任何参数。 例子 (Example) <!DOCTYPE html> <head> <title>KnockoutJS Observab

  • 删除父实体时,我还想删除关联的子实体(从数据库中)。我试图在删除时使用级联,如下所示,但我一定做错了什么。 当对父实体对象调用删除时,我收到错误消息:“该实体仍在数据库的其他地方引用”。我可以确认该实体在数据库的其他地方引用的唯一地方是在下面的两个表中(如果我手动从数据库中删除子行,对父实体对象的删除调用工作正常)。在过去的9个小时里,我一直在阅读实体对象并尝试不同的东西。我做错了什么? 这是我的

  • 我已将MongoDB副本设置为启用身份验证。我想更改副本集名称。为此,我必须从集合中删除文档。我为admin用户分配了角色,也为普通用户分配了角色。当我尝试用上面的任何用户从shell中执行时,我会得到异常: 如果我尝试在没有启用身份验证的情况下对副本集执行相同的命令,我可以成功地删除该记录。为了让用户从中删除记录,我缺少了什么角色?还是在启用身份验证时不支持?