简体   繁体   中英

Java swing add Components from another Class

Im learning about Java Swing components and I want to do that when I push button, Java Swing would add label from another class into JFrame screen. Its just simple example for start.

I want to learn how to use and add swing components from another class.

There can be some stupid mistakes, but dont judge me, im new ^^

Frame class add button

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 Class add label to screen after button are pressed.

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);
    }
}

You have to create Object inside the action Listener

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

                }       
            }           
        );

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM