首页 > 解决方案 > 是否可以在 java 中的 JFrame 中获取调用类实例?

问题描述

在 Java Swing 应用程序中,我有一个调用其他 JFrame 的 JFrame。具体来说,我正在处理一个 JFrame 来选择 UI 颜色。

每个颜色按钮实例化一个新的 JFrame,它只有一个 JColorChooser 和 OK/Cancel 按钮。

选择颜色后,我需要将选择的颜色返回到使用 JColorChooser 调用 JFrame 的原始 JFrame。

到目前为止,我一直在通过在包含 JColorChooser 的 JFrame 中显式分配一个属性来做。

public class PropertiesColor extends javax.swing.JFrame {

    public MainWindow mainWindow;

    public PropertiesColor(MainWindow mw) {
        initComponents();
        mainWindow = mw;
    }

    private void initComponents() {
        jColorChooser = new javax.swing.JColorChooser();
        ...
    }

MainWindow 对象具有使用从 JColorChooser 中选择的颜色的属性/方法,因此一旦您使用 JColorChooser 关闭 JFrame,您只需执行以下操作:

 mainWindow.setBackgroundColor(jColorChooser.getColor());

我对这种模式的一个问题是:是否可以 在创建mainWindow时不明确指定它来确定PropertiesColor?排序.getInvokingJFrame方法

标签: javaswingjframe

解决方案


推荐阅读