• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Вопрос по Java (GUI с JFrame)

  • Автор темы JavaMan2018
  • Дата начала
J

JavaMan2018

Здравствуйте, начал осваивать Javа, на данном этапе пробую создать интерфейс с JFrame. Среда разработки IDEA.
Вроде как ошибок нету в коде. Но при компиляции вылетает следующая ошибка.

Exception in thread "main" java.lang.NullPointerException
at java.desktop/java.awt.Container.addImpl(Container.java:1113)
at java.desktop/java.awt.Container.add(Container.java:1025)
at java.desktop/javax.swing.JFrame.addImpl(JFrame.java:553)
at java.desktop/java.awt.Container.add(Container.java:432)
at com.company.reader.<init>(reader.java:34)
at com.company.Main.main(Main.java:9)

Process finished with exit code 1

вот код класса Main
javakv1.jpg





вот код класса Main
  1. package com.company;
  2. import javax.swing.JFrame;
  3. public class Main {
  4. public static void main(String args[]) {
  5. reader r = new reader("Grammi");
  6. r.setVisible(true);
  7. r.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  8. r.setSize(300, 200);
  9. r.setResizable(false);
  10. r.setLocationRelativeTo(null);
  11. }
  12. }



и класс reader код
  1. package com.company;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. import java.awt.*;
  5. public class reader extends JFrame {
  6. JButton b1, b2;
  7. JLabel l1, l2, l3, l4;
  8. JTextField t1, t2;
  9. int i, k;
  10. String a, b;
  11. public reader(String s) {
  12. super(s);
  13. setLayout(new FlowLayout());
  14. // кнопки
  15. b1 = new JButton("Очистить");
  16. b1 = new JButton("Посчитать");
  17. //лейбл
  18. l1 = new JLabel("Введите первое число");
  19. l2 = new JLabel("Введите второе число");
  20. l3 = new JLabel("");
  21. l4 = new JLabel("");
  22. t1 = new JTextField(10);
  23. t1 = new JTextField(10);
  24. add(b1);
  25. add(b2);
  26. add(l1);
  27. add(l2);
  28. add(l3);
  29. add(l4);
  30. add(t1);
  31. add(t2);
  32. }
  33. }
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!