Java

Что значат эти сроки кода?

1) display = new JButton("0");

2) EventQueue.invokeLater(new Runnable()

3) panel.setLayout(new GridLayout(4, 4));
1) display = new JButton("0");

1.1) display - переменная

1.2) new - оператор, который выделяет память в куче под новый экземпляр класса (в данном случае речь про класс JButton).

1.3) JButton - класс
("0") - аргумент для конструктора класса (специального метода, который выполняется при использовании оператора "new", в данном случае значением аргумента будет строка - "0")ю

1.4) конструкция с оператором new вернет в переменную display ссылку на только что созданный экземпляр класса JButton с аргументом "0", подозреваю, что этот аргумент может отвечать за текст на кнопке.

2) EventQueue.invokeLater(new Runnable()

2.1) EventQueue - это класс, который обеспечивает очередь событий глобально. Эта глобальная очередь событий служит каналом связи с EDT. EDT собирает сообщения из этого EventQueue и обновляет компоненты пользовательского интерфейса соответственно.

2.2) invokeLater - один из методов класса EventQueue, что делает, могу только гадать, ибо не знаю Java.

2.3) newRunnable() - судя по всему является функцией, которая, понятия не имею что делает, ибо не знаю Java.

3) panel.setLayout(new GridLayout(4, 4));
3.1) panel - переменная (как не трудно догадаться по названию, это экземпляр класса JPanel)

3,2) setLayout - один из методов класса JPanel, который, если логически подумать отвечает за компоновку дочерних визуальных элементов на этой панели.

3.3) new GridLayout(4, 4) - что такое "new" я уже говорил, принцип здесь его работы здесь не отличается от строки выше, за исключением того, что получить доступ к созданному экземпляру класса не получится, ибо ссылка передается коду внутри метода (setLayout) класса JPanel

3.4) GridLayout(4, 4) - класс, по логике можно предположить, что этот класс отвечает за компоновку дочерних визуальных элементов в виде таблицы. (4, 4) - это два аргумента конструктора GridLayout, по сути они должны означать количество строк и столбцов. Таким образом получается таблица в четыре строки и четыре столбца.

Это всего-лишь предположения, полученные на основе прочитанных строк кода. Т. к я не знаю языка Java, то соответственно в чем-то могу ошибаться.
Александр Гайдук
Александр Гайдук
54 419
Лучший ответ
1)переменная display теперь хранит экземпляр JButton
2-3)обращение к функциям, принадлежащим классу
БВ
Борис Власов
25 126
Султан Кулбатыров а "new" там зачем?
купи книгу. так не научишься