小编典典

为什么我不能验证JComponent?

java

JavaDoc

public void validate()

验证此容器及其所有子组件。验证容器意味着布置其子组件。

那就是我想做的。使用尽可能轻巧的组件。但是当我这样做时,对JComponent的调用validate()不会使组件“有效”。

    JComponent c = new JComponent() {};
    System.out.println(c.isValid()); // false
    c.validate();
    System.out.println(c.isValid()); // false

为什么我不能做一个JComponent有效的?


阅读 266

收藏
2020-11-26

共1个答案

小编典典

在文档中isValid()说:

当组件在其父容器中的大小和位置正确且其所有子组件也均有效时,该组件才有效。

这种情况,直到你达到顶级容器JFrameJInternalFrameJApplet)。在您所遇到的问题的示例中,您JComponent没有父母,所以它永远不会有效。

2020-11-26