Какие модификаторы я должен дать переменную в этом примере кода?

Какие модификаторы мне дать переменную, labelв этом примере кода ниже? Я новичок в Java, но первое, что я хотел сделать, - это выделить все классы, которые я могу использовать в Swing, такие как JLabel, и сделать так, чтобы я мог вызывать их динамически. Я надеюсь, что сделал это ниже. Но да, я не был уверен в private static JLabel label; потому что в конечном итоге я хочу иметь возможность объявить все классы свинга где-нибудь в мастер-файле. Благодарю.

package base;

import java.awt.Component;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class CreateLabel extends JLabel {
    private static final long serialVersionUID = 1L;
    private static JLabel label;

    public Component createLabel(JFrame frame, String text) {
        label = new JLabel(text);
        return frame.getContentPane().add(label);
    }
}

1 ответ

Решение

Я понимаю, что вы хотите, чтобы ваш createLabel() способ добавить JLabel чтобы прошло JFrame, Что вы можете сделать, это:

public class LabelCreator /*extends JLabel*/ {
    /*private static final long serialVersionUID = 1L;*/
    /*private static JLabel label;*/

    public Component createLabel(JFrame frame, String text) {
        JLabel label = new JLabel(text);
        return frame/*.getContentPane()*/.add(label);
    }
}

Обратите внимание на изменение имени класса в соответствии с соглашением об именах.

Другие вопросы по тегам