1

私はJava Swingコンポーネントについて学んでいます。ボタンを押すと、Java Swingは別のクラスからJFrame画面にラベルを追加します。開始のための単純な例です。

別のクラスのスイング コンポーネントの使用方法と追加方法を学びたいです。

愚かな間違いがいくつかあるかもしれませんが、私を判断しないでください、私は新しいです^^

フレームクラス追加ボタン

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

1 に答える 1

2

アクションリスナー内にオブジェクトを作成する必要があります

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

                }       
            }           
        );
于 2013-07-24T17:17:06.177 に答える