java - 如何检测另一个jframe类的可见性

标签 java swing

比方说

public class Dirchooser extends JFrame {
    protected String dir;
    ...
    private AbstractAction getGetDirAction() {
        if (getDirAction == null) {
            getDirAction = new AbstractAction("OK", null) {
                public void actionPerformed(ActionEvent evt) {
                dir = dirPathTextField1.getText();
                setVisible(false);}};}
return getDirAction;}}

我如何检测 Dirchooser 的可见性并使用另一个类获取字符串 dir? 喜欢

public class Run {
    public static void main(String[] args) throws IOException {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
            inst = new DirChooser();
            inst.setLocationRelativeTo(null);
            inst.setVisible(true);}});
//if inst is not visible,

//sysout string dir which in inst
        }
    }

最佳答案

如果您想检查 DirChooser 在屏幕上是否可见,那么您可以使用这个 inst.isShowing(); 它可以返回 boolean 值

此外,要从第二类中的第一个类读取变量,只需在第二个类中引用第一个类的对象并访问该变量(公共(public)或 protected ;在同一包内或从父类(super class)),例如System.out.println(firstClassObject.variableName。希望能有所帮助。问候

关于java - 如何检测另一个jframe类的可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8643562/

相关文章:

java - 为什么在 java.util.Comparator 中不强制执行 equals?

java - 带有代理的 Java 中的 HTTP 基本身份验证

java - (JAVA) 通过按键监听器移动剪切区域

java - 当鼠标退出元素 JFrame 时停止 mouseEntered 执行

java - 使用 JFrame 的浏览器

java - 将行添加到 jTable

java - 为什么我的应用程序名称与 Activity 名称相同?

Java如何检查数组列表中的对象是否包含某个值

java - hibernate 中缺少@Temporal 注释

Java 将另一个类中的数组列表放入 JList 中