java - 如何找出屏幕上显示的java组件

标签 java swing user-interface

我想知道 JPanel 是否在屏幕上。这并不意味着 isVisible() 方法可以用于这种情况。我的意思是我想知道以前启动的组件目前是否是我的主面板上的组件之一。

编辑和更多解释:我之前在我的程序中启动了几个面板,并根据需要在我的表单上使用它们。例如,我想知道现在出现在我的表单上的任何面板上的 jpanel1

例子:

public class GUI extends JFrame() {

    private JPanel1, jPanel2;

    public static void main(String[] args) {
        GUI gui = new GUI();
        jPanel1 = new JPanel();
        jPanel2 = new JPanel();
        gui.setContentpane(jPanel1);
        gui.setVisible(true);
    }

}

现在 jPanel1 在屏幕上可见,但 jPanel2 不可见。 我怎样才能找到这个?

最佳答案

经过调查我发现这个方法表示组件是否显示在屏幕上:

isDisplayable()

在我的例子中:

jPanel1.isDisplayable() // returns true

jPanel2.isDisplayable() // returns false

就这么简单!

关于java - 如何找出屏幕上显示的java组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9602683/

相关文章:

java - UI线程如何等到后台线程完成处理?

java - 如何在点击图像时生成事件?

java - 按键事件 : Making multiple inputs work together

c++ - wxWidgets - 通过 DLL 添加项目到 sizer

java - 如何使用流计算组内的值

java - 如何使用 Maven 加快构建过程

java.io.IOException : Stream closed During PDFbox setValue loop 异常

java - 在 JFrame 中显示 HTML 代码预览?

java - JFileChooser - 打开/取消/退出按钮

java - 将java程序(以表单)输入的值添加到sql数据库: