Java swing从另一个Class添加组件

时间:2013-07-24 17:12:02

标签: java swing class components

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

我想学习如何使用和添加来自另一个类的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 Class按下按钮后向屏幕添加标签。

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

1 个答案:

答案 0 :(得分:2)

您必须在动作侦听器

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

                }       
            }           
        );