Я уверен, что вы пытаетесь сделать.Вы либо хотите поместить JLabel в ArrayList, либо текст этой метки.
Если вы хотите поместить весь JLabel в ArrayList, вы должны сделать ArrayList<JLabel>
.Но я так понимаю, вы хотите получить текст из JLabel, поэтому вы должны написать names.add(lab1.getText());
.
Созданный вами конструктор не принимает никаких параметров.Параметры, которые вы написали, являются переменными экземпляра, то есть переменными, которые будут иметь любой экземпляр этого класса.Если вы хотите передать параметры в своем конструкторе, вы должны делать то, что вам сказал thasc .
Вы пишете:
JLabel lab1 = new JLabel("User Name", JLabel.LEFT);
p.add(lab1 = new JLabel("User Name"));
Но так как вы уже создаете lab1 JLabelВы можете просто написать p.add(lab1)
.
И последнее замечание. Я думаю, что SampleFiveA должен лучше расширять JFrame, если вы не хотите, чтобы он расширял JPanel, чтобы использовать его где-то еще.Если вам нужно, чтобы это было автономно, вы должны изменить это.
ура