Вы забыли добавить панель p
к образцу. Либо используйте add(p)
в конце, либо просто удалите панель p
, потому что ваш образец класса расширяет JPanel.
Вариант 1:
JPanel p = new JPanel();
JLabel lab1 = new JLabel("User Name", JLabel.LEFT);
p.setLayout(new FlowLayout());
p.add(lab1 = new JLabel("add JLabel"));
add(p);
вариант 2:
JLabel lab1 = new JLabel("User Name", JLabel.LEFT);
setLayout(new FlowLayout());
add(lab1 = new JLabel("add JLabel"));
Кроме того, почему вы отменяете инициализацию JLabel? В вашем коде JLable всегда будет содержать значение «add JLabel». Если вы хотите увидеть «Имя пользователя», используйте add(lab1);
вместо add(lab1 = new JLabel("add JLabel"));
.
Может быть, вам просто нужно это:
JLabel lab1 = new JLabel("User Name", JLabel.LEFT);
setLayout(new FlowLayout());
add(lab1);
Также конструктор не может иметь тип возвращаемого значения, поэтому удалите void из вашего конструктора.