- •Понятие потока данных в java. Виды потоков:
- •Общая схема записи данных в поток:
- •Общая схема чтения данных из потока:
- •Байтовый поток :свойства, связь потока с файлом, чтение, запись закрытие:
- •Потоки символов: свойства, связь потока с файлом, чтение, запись, закрытие:
- •Потоки строк: свойства, связь потока с файлом, чтение, запись, закрытие:
- •Исключения при работе с потоками:
- •Понятие рекурсии, рекурсивное вычисление факториала:
- •Понятие рекурсии, рекурсивное вычисление суммы элементов массива:
- •Понятие рекурсии, рекурсивное вычисление максимального элемента массива:
- •Формулировка задачи о ханойских башнях:
- •Применение рекурсии при определении связного списка:
- •Понятие списка. Объявление элемента списка:
- •Структура объявления двусвязного списка:
- •Типовые операции для односвязных списков:
- •Кольцевой и двусвязный списки: отличия от односвязного списка:
- •Порядок добавления элемента в односвязный список:
- •Основные типы коллекций, имеющиеся в Java Collection Framework:
- •Составные части jcf и их назначение:
- •Назначение интерфейсов и алгоритмов jcf:
- •Примеры (двух) интерфейсов и (двух) реализаций: сходства и различия:
- •Преимущества, получаемые от применения jcf в программах:
- •Коллекции: списки – основные методы интерфейса List:
- •Коллекции: множества – основные элементы интерфейса Set:
- •Выполнение стандартных операций теории множеств:
- •Списки и множества: сходства и различия:
- •Цикл for-each и его применение в коллекциях:
- •Математическая идея, представленная элементом Map:
- •Вопрос 29. Сравнительный анализ реализаций ArrayList и LinkedList.
- •Вопрос 30. Параметры по которым сравнивают реализации коллекций.
- •Вопрос 31. Понятие и назначение итератора
- •Вопрос 33. Comparable и Comparator
- •Вопрос 34. Сортировка со стандартным и нестандартным отношением порядка.
- •Вопрос 35. Вопрос 36. Вопрос 37. Вопрос 38 Поиск элемента в коллекции. Двоичный и прямой поиск. Способ идентификации ситуации «Элемент не найден».
- •Вопрос 39. Графический интерфейс пользователя. Составные элементы фрейма.
- •Вопрос 40. Библиотеки Java, поддерживающие графический интерфейс.
- •Вопрос 41. Компонент и контейнер.
- •Вопрос 42. Jframe — в иерархии объектов графики.
- •Ответы к экзамену по программированию часть 5 (вопр. 57-69)
- •События мышки. Общая схема обработки событий мышки:
- •Методы интерфейса MouseListener и их назначение:
- •Методы интерфейса MouseMotionListener:
- •Методы класса MouseEvent. Получение координат события:
- •Управляющие элементы графического интерфейса – внешний вид и назначение:
- •Кнопка. Состояния кнопки. События кнопки, их обработка и идентификация:
- •Структура программы, имеющей интерфейс с двумя кнопками:
- •Элементы интерфейса «Условие» («флажок») и его конструкторы:
- •События элемента «флажок» и их обработка.
- •Структура программы с интерфейсом, содержащим два элемента «условие»:
- •67. Элемент интерфейса «радиокнопка» и его конструкторы:
- •Группировка радиокнопок и задание начального состояния в группе.
- •События элемента «радиокнопка» и их обработка.
Структура программы, имеющей интерфейс с двумя кнопками:
private Button button1;
private Button button2; // задаем кнопки в классе
this.add(button1);
this.add(button2); // добавляем в плоскость контента
if (event.target == button1) { // если нажата кнопка 1
Graphics g = this.getGraphics();
Rectangle r = this.bounds();
this.setBackground(Color.black); // заливаем фон черным
g.setColor(this.getBackground());
return true;}
else // иначе
if (event.target == button2){ // если нажата 2
Graphics g = this.getGraphics();
Rectangle r = this.bounds();
this.setBackground(Color.white); // заливка белая
g.setColor(this.getBackground());
return true; }
else return super.action(event, arg); }
Элементы интерфейса «Условие» («флажок») и его конструкторы:
JCheckBox – это название класса Java Swing, который представляет компонент-флажок или чекбокс. Что есть флажок или чекбокс? Это компонент, который имеет два состояния включен и выключен. Причем одно состояние естественно исключает другое. Соответствующее состояние компонента JCheckBox показывается галочкой. Если JCheckBox находится во включенном состоянии – галочка отображается, если в выключенном – галочки нет.
Конструкторы:
JCheckBox NAME = new JCheckBox( метка/иконка/выбрано/ не выбрано);
(иконка — изображение формата jpeg, gif, png, представленное как массив байтов).
События элемента «флажок» и их обработка.
Флажок имеет два состояния включен и выключен. При изменение состояния возникает событие типа ActionEvent.
Событие можно задать методом:
NAME.setActionCommand(command);
Событие обрабатывается в методе actionPerformed().
Для проверки состояния флажка используют метод NAME.isSelected();
Пример:
public class Test extends JComponent implements ActionListener{
JCheckBox cb;
Test(){
cb= new JcheckBox(«Сходить в кино»);
cb.setActionCommand(«кино»); }
Public void actionPerformed(ActionEvent e){
System.out.println(e);
If(cb.isSelected()) System.out.println(«cb- выбрано»);
else System.out.println(«cb- не выбрано»);
If(«кино».equals(e.getActionCommand())) System.out.println(«сommand == кино»); }
Структура программы с интерфейсом, содержащим два элемента «условие»:
Аналогично вопросу 63.
1. Создание флажков и задание их параметров
2. Регистрация слушателей
3. Добавление флажков на панели
4. Создание методов для выполнения действий, связанных с состоянием флажков.
67. Элемент интерфейса «радиокнопка» и его конструкторы:
Радиокнопка – разновидность обычной кнопки (команды, подсказки, setEnabled и т.д.) //взято из лекции кислого.
Конструктор:
JRadioButton rb1 = new JRadioButton (String text, Icon icon, boolean selected);
text — текст отображаемый возле кнопки
icon — иконка кнопки.
Группировка радиокнопок и задание начального состояния в группе.
В группе радиокнопок, только одна кнопка может быть «нажата» (активна)
Группировка кнопок реализуется через класс ButtonGroup:
ButtonGroup g = new ButtonGroup( );
g.add (первая кнопка);
...
g.add (последняя кнопка);
Для задания начального состояния группы, выбирается кнопка, которая будет активна по умолчанию, командой:
Button.setSelected(true);
Типовая последовательность действий:
Создать каждую кнопку
назначить команду
зарегистрировать слушателя
задать начальное состояние (df – выкл.)
задать подсказку и мнемонику
Создать группу и добавить кнопки в группу