Методы абстрактного класса – потока байтовInputStream

Методы абстрактного класса – потока байтовInputStream

close() закрывает поток и освобождает ресурсы, ранее полученные для потока.

mark(intreadlimit) отмечает текущую позицию в потоке, которую можно будет использовать до тех пор, пока из потока не будет прочитано readlimit байтов.

markSupported() проверяет, допустимы ли методы mark и reset. Возвращает true/false.

read() читает очередной байт и возвращает его как правый байт int, или -1, если уже нет доступных байтов.

read(byte[] b) читает порцию байтов, заполняя массив b. Возвращает количество реально прочтенных байтов, если b.length==0, ничего не читает и возвращает 0, если нет доступных байтов, возвращает -1.

read(byte[] b, intoff, intlen) читает len байтов в массив b со смещением от начала массива off. Возвращает количество реально прочтенных байтов. Если len==0, ничего не читает и возвращает 0, если нет доступных байтов, возвращает -1.

reset() перемещается по потоку в обратном направлении до отметки

skip(long n) пытается пропустить во входном потоке n байтов без чтения.

Методы абстрактного класса – потока байтов OutputStream.

Все методы этого класса имеют тип void и создают исключение IOException в случае ошибки.

write(int b) пишет правый байт из int в поток. Левые байты int не используются.

write(byte b[]) записывает в выходной поток массив байтов b.

write(byte b[], intoff, intlen) записывает в поток len байтов из b, начиная с элемента b[off].

flush() завершает операцию вывода, сохраняя данные из внутреннего буфера.

close() закрывает выходной поток.

FileInputStream – поток для ввода байтов, связанный с

файлом

FileOutputStream – поток для вывода байтов, связанный

сфайлом

FileInputStream fi=null;

FileOutputStreamfo=null;

fi=new FileInputStream("f-out.byt");

fo=new FileOutputStream("f-out2.byt");

1. Потоки символов: свойства, связь потока с файлом, чтение, запись, закрытие:

Потоки символов определены в двух иерархиях классов. Наверху этой иерархии 2 абстрактных класса: Reader и Writer. Они обрабатывают потоки символов Unicode.Считывается не байт, а символ.

Класс Reader - абстрактный класс, который определяет модель поточного символьного ввода.

Методы:

Intread() – возвращает целочисленное представление следующего доступного символа из вызывающего входного потока. Если поток пуст( нету символов для чтения) возвращает -1.

Intread (charA[])- читает до А.length символов в массиве А и возвращает фактическое число символов, которые успешно прочитались. Когда встречается признак конца файла возвращает -1.

Класс Writer- абстрактный класс, который определяет модель поточного символьного вывода.

Методы:

Voidclose()- закрывает выходной поток

Voidwrite (intc)- записывает оин символ в выходной поток вызывающего обьекта

Voidwrite(charA) - записывает заполненный массив символов в вызывающий выходной поток

Voidwrite (Stringstr)-записывает строку в вызывающий выходной поток

Класс FileReader–создает Reader-обьект , который можно использовать для чтения содержимого файла. Обычно используемые конструкторы :

FileReader (StringfilePath)-выбрасывает исключение типа FileNotFoundException, filePath- полное имя файла

FileReader (FilefileObj)- выбрасывает исключение типа FileNotFoundException, fileObj – обьект класса File, который описывает файл.

В классе component собраны общие методы работы с любым компонентом графического интерфейса пользователя. Этот класс — центр библиотеки AWT. Класс Jcomponent - для Swing

Каждый компонент перед выводом на экран помещается в контейнер (container). Контейнер "знает", как разместить компоненты на экране. Разумеется, в языке Java контейнер — это объект класса Container или всякого его расширения. Прямой наследник этого класса — класс jcomponent — вершина иерархии многих классов библиотеки Swing.

Создав компонент — объект класса Component или его расширения, следует добавить его к предварительно созданному объекту класса container или его расширения одним из методов add ().

Класс Container сам является невидимым компонентом, он расширяет класс Component. Таким образом, в контейнер наряду с компонентами можно помещать контейнеры, в которых находятся какие-то другие компоненты, достигая тем самым большой гибкости расположения компонентов.

Вопрос 42. Jframe — в иерархии объектов графики.

Методы абстрактного класса – потока байтовInputStream - student2.ru

Методы абстрактного класса – потока байтовInputStream - student2.ru

Ответы к экзамену по программированию часть 5 (вопр. 57-69)

57. События мышки. Общая схема обработки событий мышки:

· События мышки возникают, когда нажимаются кнопки, или вращается колесико, или мышка перемещается.

· Задача: "сфокусировать" приложение на нужном компоненте

Схема обработки событий:

· Источник события

· Слушатель события

· Обработчик события

o Источник передает события зарегистрированным слушателям

o Слушатель организует обработку (самостоятельно или вызовом специальных методов-обработчиков)

58. Методы интерфейса MouseListener и их назначение:

Интерфейс listener для получения событий, связанных с мышкой:

void mouseClicked(MouseEvent e) - кнопка мыши была нажата (нажата и отпущена) на компоненте

void mouseEntered(MouseEvent e) - Вызывается, когда мышь входит в компонент

void mouseExited(MouseEvent e) - Вызывается, когда мышь выходит из компонента

void mousePressed(MouseEvent e) - кнопка мыши была нажата на компоненте

void mouseReleased(MouseEvent e)- кнопка мыши была отпущена на компоненте

59. Методы интерфейса MouseMotionListener:

Интерфейс для отслеживания перемещений и перетаскиваний мыши:

void mouseDragged(MouseEvent e)- кнопка мыши нажата и мышь перемещают

void mouseMoved(MouseEvent e)- курсор мыши был передвинут без нажатий на кнопки мыши

60. Методы класса MouseEvent. Получение координат события:

int getButton()- Возвращает номер нажатой кнопки

int getClickCount()- Возвращает кол-во щелчков мыши, связанных с данным событием

Point getLocationOnScreen()- Возвращает координаты (x,y) события

int getModifiersEx()- Возвращает расширенную маску модификатора для этого события

Point getPoint()- Возвращает координаты (x,y) позиции мыши, когда событие произошло

int getX()- Возвращает координату x позиции мыши, когда событие произошло

компонента

int getY()- Возвращает координату y позиции мыши, когда событие произошло

61. Управляющие элементы графического интерфейса – внешний вид и назначение:

Управляющие элементы представлены следующими классами: Button (кнопка), Checkbox (кнопка с независимой фиксацией), Choice (раскрывающийся список Windows), Label (строка), List (список выбора Windows) и Scrollbar (полоса прокрутки). Это достаточно простые классы, наследуемые от абстрактного класса Component напрямую.

Однако в составе java.awt имеются классы интерфейсных элементов, имеющие промежуточного предка. Хорошим примером тому является класс Panel для создания различных панелей. У него имеется промежуточный абстрактный класс-предок Container, служащий родоначальником многих классов-контейнеров, способных содержать в себе другие элементы интерфейса. От этого же класса наследуется класс окна Window, представляющий на экране простейшее окно без меню и рамки. У этого класса есть два часто используемых потомка: Dialog, название которого говорит само за себя, и Frame - стандартное окно Windows. Еще один промежуточный класс TextComponent порождает два полезнейших в работе класса - TextField (аналог строки ввода Windows) и многострочное окно текстового ввода TextArea. Особняком от всех элементов стоит класс Canvas. Его визуальное представление - пустой квадрат, на котором можно выполнять рисование и который может обрабатывать события нажатия кнопок мыши.

62. Кнопка. Состояния кнопки. События кнопки, их обработка и идентификация:

Компонент Button – кнопка стандартного для данной графической системы вида с надписью, умеющая реагировать на щелчок кнопки мыши – при нажатии она «вдавливается» в плоскость контейнера, при отпускании – становится «выпуклой».

Методы абстрактного класса – потока байтовInputStream - student2.ru

1 – обычная кнопка, 2 – кнопка в фокусе (активный объект), 3 – кнопка нажата.

Если приложению требуется выполнять какие-то действия, связанные с нажатием кнопок, класс программы должен реализовывать интерфейс ActionListener и зарегистрировать слушатель события кнопки, вызывая метод класса javax.swing.AbstractButton– addActionListener().

· кнопки – элементы JButton

· Кнопка – текст на кнопке – команда (текст)

· Нажатие на кнопку - событие ActionEvent

· Слушатель события – ActionListener

· Обработчиксобытия – actionPerformed(ActionEvent e)

63. Структура программы, имеющей интерфейс с двумя кнопками:

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 returnsuper.action(event, arg); }

64. Элементы интерфейса «Условие» («флажок») и его конструкторы:

JCheckBox – это название класса JavaSwing, который представляет компонент-флажок или чекбокс. Что есть флажок или чекбокс? Это компонент, который имеет два состояния включен и выключен. Причем одно состояние естественно исключает другое. Соответствующее состояние компонента JCheckBox показывается галочкой. Если JCheckBox находится во включенном состоянии – галочка отображается, если в выключенном – галочки нет.

Конструкторы:

JCheckBox NAME = newJCheckBox( метка/иконка/выбрано/ не выбрано);

(иконка — изображение формата jpeg, gif, png, представленное как массив байтов).

Методы абстрактного класса – потока байтовInputStream

close() закрывает поток и освобождает ресурсы, ранее полученные для потока.

mark(intreadlimit) отмечает текущую позицию в потоке, которую можно будет использовать до тех пор, пока из потока не будет прочитано readlimit байтов.

markSupported() проверяет, допустимы ли методы mark и reset. Возвращает true/false.

read() читает очередной байт и возвращает его как правый байт int, или -1, если уже нет доступных байтов.

read(byte[] b) читает порцию байтов, заполняя массив b. Возвращает количество реально прочтенных байтов, если b.length==0, ничего не читает и возвращает 0, если нет доступных байтов, возвращает -1.

read(byte[] b, intoff, intlen) читает len байтов в массив b со смещением от начала массива off. Возвращает количество реально прочтенных байтов. Если len==0, ничего не читает и возвращает 0, если нет доступных байтов, возвращает -1.

reset() перемещается по потоку в обратном направлении до отметки

skip(long n) пытается пропустить во входном потоке n байтов без чтения.

Наши рекомендации