JavaSwing从另一个类添加组件

JavaSwing从另一个类添加组件,java,swing,class,components,Java,Swing,Class,Components,我正在学习JavaSwing组件,我想在按下按钮时,JavaSwing会将另一个类的标签添加到JFrame屏幕中。这只是start的一个简单例子 我想学习如何从另一个类中使用和添加swing组件 可能会有一些愚蠢的错误,但不要评判我,我是新来的^^ 框架类添加按钮 import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.sw

我正在学习JavaSwing组件,我想在按下按钮时,JavaSwing会将另一个类的标签添加到JFrame屏幕中。这只是start的一个简单例子

我想学习如何从另一个类中使用和添加swing组件

可能会有一些愚蠢的错误,但不要评判我,我是新来的^^

框架类添加按钮

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;


public class Frame extends JFrame{
    private JButton btn;
    private boolean regCompl = false;

    public Frame(){
        super("The title Macas");
        setLayout(new FlowLayout());

        btn = new JButton("Push for Registration");
        btn.addActionListener(
            new ActionListener(){
                @Override
                public void actionPerformed(ActionEvent event) {
                    regCompl = true;

                }       
            }           
        );
        add(btn);

        if(regCompl == true){
            RegComplete regObj = new RegComplete(this);
        }

    }// end of constructor
}
按下按钮后,RegComplete类将标签添加到屏幕

import javax.swing.JButton;
import javax.swing.JLabel;

public class RegComplete {
    Frame frame;

    private JLabel label;


    public RegComplete(Frame fm){
        this.frame = fm;

        label = new JLabel("Hello world Mac4s");
        fm.add(label);
    }
}

您必须在动作侦听器中创建对象

btn = new JButton("Push for Registration");
        btn.addActionListener(
            new ActionListener(){
                @Override
                public void actionPerformed(ActionEvent event) {
                     RegComplete regObj = new RegComplete(Frame.this);

                }       
            }           
        );

那么什么不起作用呢?你的问题是什么?@chancea当我按下按钮时,Java Swing会将另一个类的标签添加到JFrame屏幕中。Meeran如果你走对了,你必须将
this
更改为
Frame。this