- •Обработка исключений
- •Методы класса Throwable
- •Коллекции
- •Класс ArrayList
- •Иерархия типов в java.Io
- •Классы DataInputStream и DataOutputStream
- •Класс StreamTokenizer
- •Классы Reader и Writer.
- •Класс RandomAccessFile
- •Сериализация и десериализация объектов
- •Чтение из стандартного ввода
- •Класс Scanner, конструкторы, основные методы
- •Класс jFrame, конструкторы, основные методы
- •Организация диалогов, класс jOptionPane и его методы
- •Способы идентификации источника событий
- •Панели и менеджеры раположения
- •Рассмотрим основные виды размещения:
- •Кнопки, иерархия классов, свойства, конструкторы и методы.*
- •Надписи, конструкторы и методы
- •Поля текстового ввода, иерархия классов, конструкторы и методы.*
- •Списки jList, конструкторы, методы
- •Классы для создания меню, последовательность действий при создании меню:
- •Событийная модель Java.*
- •Интерфейсы-слушатели и классы-адаптеры
- •Архитектура mvc (Model/View/Controller).*
- •Gui общее понятия, принципы реализации в Java.*
- •Методы класса Formatter
Чтение из стандартного ввода
Стандартная модель ввода/вывода в Java имеетстатические поля класса System: System.in, System.out, System.err.
System.out представляет собой объект PrintStream.
System.err аналогичен Systen.out – этот поток предназначен для вывода некоторых типов ошибок.
System.in является производной InputStream. Можно использовать System.out и System.err как они есть, System.in должен как правило куда-то включаться(быть обернут), прежде чем прочесть из него.
Запрос ввода с клавиатуры осуществляется вызовом метода read(byte b[]) класса System.in. Набор символов, введенных пользователем, преобразуется в массив байт и передается в параметр byte b[]. Метод System.in.read(byte b[]) выбрасывает исключение java.io.IOException. На основе полученного массива можно сформировать строку (String) путем указания массива байт в конструкторе строки.
Наиболее удобно описать новый класс, содержащий два метода:
static String вводСтрокиСКлавиатуры() – запрашивает ввод, преобразует введенные данные в строку и возвращает полученное строковое значение.
static int вводЧислаСКлавиатуры() – запрашивает ввод, преобразует введенные данные в строку, затем строку в целое число (можно использовать метод int Integer.parseInt(String s)) и возвращает полученное целочисленное значение.
При попытке преобразовать нечисловые символы в число, метод int Integer. parseInt(String s) выбрасывает java.lang.NumberFormatException. Требуется обработать данное исключение.
Пример
class Vvod{
public static String vvodStroki()throws IOException{
byte[] b=new byte[100];
System.in.read(b);
String s=new String(b);
s=s.trim();
return s;}
public static int vvodChisla()throws IOException,NumberFormatExceptio{
byte b[]=new byte[100];
System.in.read(b);
String s=new String(b);
s=s.trim();
int m=0;
m=Integer.parseInt(s);
return m;}}
Класс Scanner, конструкторы, основные методы
Конструктор Scanner (InputSream in)
Методы создает объект Scanner на базе заданного входного потока
--String nextLine()-читает очередную строку
--String next()-читает очередное слово(разделителями между словами считаются пробелы)
--int nextInt(), double nextDouble()- читают очередную последовательность символов, представляющую целое число или число с плавающей точкой и выполняет соответствующее преобразование
--boolean hasNext()-проверяет, существует ли во входном потоке еще одно слово
--boolean hasNextInt(), boolean hasNextDouble()- проверяет, существует ли во входном потоке последовательность символов, целое число или число с плавающей точкой.
Пример
import java.util.*;
public class inputText{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
//получение первой строки входных данных
String name=in.nextLine();
//прлучение целочисленного значения
System.out.print(“Сколько вам лет”);
int age=in.nextInt();
//отображение информации в консольном окне
System.out.println(name+”, ”+”в следущем году вам будет уже”+(age+1)+”лет”);}}
Класс jFrame, конструкторы, основные методы
Любой компонент, требующий показа на экране, должен быть добавлен в класс-контейнер. Контейнеры служат хранилищем для визуальных компонентов интерфейса и других контейнеров.
Простейший пример контейнера - класс Frame (форма), объекты которого отображаются на экране как стандартные окна с рамкой.
Форма представляет собой основу оконного графического интерфейса – это прямоугольное окно, которое пользователь может перемещать, растягивать, сворачивать/разворачивать и т.д. Форма содержит внутри себя различные элементы управления – панели, кнопки, текстовые поля, списки, таблицы т.д.. В Java форма представлена классом JFrame пакета javax.swing.
Для того чтобы скрыть (инкапсулировать) описание внутреннего содержимого формы, обычно для каждой формы создается новый класс – наследник JFrame. Элементы управления, содержащиеся на форме, объявляются в виде private-свойств класса формы, значения свойств формы и элементов управления задаются в конструкторе формы. В момент создания и отображения формы (например в main()), требуется лишь создать экземпляр класса формы и отобразить его на экране.
JFrame – базовый класс для построения окон
Методы:
-- void setTitle(String s) – установить заголовок формы
--Container getContentPane()-получить ссылку на панель содержимого
--void setBackgroundColor(Color c)-цвет панели
--void setForegroundColor(Color c)- цвет содержимого панели
--void setSize(int width, int height)- установить размер формы
--void setVisible(boolean b)- отобразить/скрыть форму
--void show() - sets visible and brings to front(если имеется несколько окон)
--setDefaultCloseOperation() (HIDE_ON_CLOSE, DISPOSE_ON_CLOSE, EXIT_ON_CLOSE, DO_NOTHING_ON_CLOSE )
-- void pack() – автом. устанавливает размер окна.