简体   繁体   English

Java swing从另一个类添加组件

[英]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. 我正在学习Java Swing组件,我想在按下按钮时这样做,Java Swing会将另一个类的标签添加到JFrame屏幕中。 Its just simple example for start. 它只是开始的简单示例。

I want to learn how to use and add swing components from another class. 我想学习如何使用和添加另一个类中的swing组件。

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

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

                }       
            }           
        );

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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