Глава 2: Среда разработки netbeans
TRANSCRIPT
![Page 1: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/1.jpg)
Глава 2. Объектно-ориентированное проектирование и платформа NetBeans● Процедурное и объектно-ориентированное
программирование. Инкапсуляция● Работа со ссылочными переменными. Сборка
мусора● Проекты NetBeans. Пакеты. Уровни видимости
классов. Импорт классов● Базовые пакеты и классы Java● Создание в NetBeans простейшего приложения
Java ● Компиляция файлов проекта и запуск
приложения
Курс подготовлен при поддержке Sun MicrosystemsПравила использования материалов опубликованы на www.sun.ru
![Page 2: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/2.jpg)
Глава 2. Объектно-ориентированное проектирование и платформа NetBeans
(продолжение)● Структура проекта NetBeans Создание в NetBeans
приложения Java с графическим интерфейсом ● Редактор экранных форм● Внешний вид приложения ● Ведение проектов ● Редактирование меню экранной формы ● Создание нового класса ● Документирование исходного кода ● Основные компоненты пакетов swing и awt ● Технологии Java и .Net
![Page 3: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/3.jpg)
Процедурное и объектно-ориентированное программирование. Инкапсуляция
● Три базовых принципа объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм.
● Класс – это описание того, как устроен объект. И поля данных, и методы задаются в классах. Но при выполнении программы поля данных хранятся в объектах, а методы – в классах. Методы задают поведение объекта, а поля данных - состояние объекта.
● Переменные, описываемые в классах, называются глобальными. Они задают поля данных объектов. Переменные, описываемые в методах, называются локальными. Они являются вспомогательными и существуют только во время вызова метода.
![Page 4: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/4.jpg)
Классы и объекты. Работа со ссылочными переменными. Сборка мусора
● Объект создаётся с помощью вызова конструктора - специальной подпрограммы-функции, задаваемой в классе.
● Методы делятся на методы объектов и методы классов. Метод объекта можно вызывать только из объекта соответствующего типа. А метод класса может работать и при отсутствии объекта, и вызываться из класса.
● Переменные ссылочного типа содержат адреса данных, а не сами данные. Поэтому присваивания для таких переменных меняют адреса, но не данные. Все объектные типы являются ссылочными.
● Потеря ссылки на объект приводит к сборке мусора.
![Page 5: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/5.jpg)
Работа со ссылочными переменными. Сборка мусора I
Данные
Адрес
Ссылочная переменная
Объект1
![Page 6: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/6.jpg)
Работа со ссылочными переменными. Сборка мусора II
Данные1
Адрес
Ссылочная переменная
Объект1- мусор
Данные2
Объект2
![Page 7: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/7.jpg)
Проекты NetBeans. Пакеты● Основой разработки программы является проект - набор
файлов и папок заданной структуры.● Все классы и объекты приложения вызываются и
управляются из метода main, который имеет сигнатуру public static void main(String[] args). Он является методом класса, и поэтому для его работы нет необходимости в создании объекта, являющегося экземпляром класса.
● Объявление, что класс с именем MyClass1 находится в пакете pkg3, находящемся в пакете pkg2, который расположен в пакете pkg3, будет выглядеть какpackage pkg1.pkg2.pkg3;class MyClass1 {…}
![Page 8: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/8.jpg)
Уровни видимости классов. Импорт классов● При декларации класса можно указывать, что он
общедоступен, с помощью модификатора доступа public. В этом случае возможен доступ к данному классу из других пакетов.
● В файле .java можно располагать только один общедоступный класс и произвольное число классов с другим уровнем видимости.
● Если модификатор public отсутствует, то доступ к классу разрешён только из классов, находящихся с ним в одном пакете. Про такие файлы говорят, что у них пакетный вариант доступа.
● Импорт классов из пакетов осуществляется с помощью оператора import имяПакета.ИмяКласса или import имяПакета.*
![Page 9: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/9.jpg)
Базовые пакеты и классы Java● Важнейшими пакетами являются java и javax, а также
вложенные в них пакеты. ● java.lang - cодержит базовые классы языка Java.
Автоматически импортируется в любую программу без указания имени пакета.
● java.awt - базовый пакет работы с графическим пользовательским интерфейсом.
● java.io - поддержка базовых средств ввода-вывода. ● java.util- важнейшие классы для работы со структурами
данных ● Информацию о содержащихся в пакетах элементах
можно получить в среде разработки, набрав java. или javax. И прочитав появившуюся подсказку.
![Page 10: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/10.jpg)
Создание в NetBeans простейшего приложения Java● Визуальное проектирование приложения
с графическим интерфейсом пользователя (GUI) происходит в режиме Design.
● Как правило, основой для построения такого интерфейса служат компоненты Swing.
![Page 11: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/11.jpg)
Создание в NetBeans приложения Java, шаг 1
![Page 12: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/12.jpg)
Создание в NetBeans приложения Java, шаг 2
![Page 13: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/13.jpg)
Создание в NetBeans простейшего приложения Java
![Page 14: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/14.jpg)
Исходный код приложения /* * Main.java * * Created on 21 Июнь 2006 г., 13:08*/package javaapplication1;/** * * @author User */public class Main { /** Creates a new instance of Main */ public Main() { } /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here } }
![Page 15: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/15.jpg)
Компиляция проекта и запуск приложения● Build/ Build Main Project - компиляция (или <F11>, или
иконка с голубой книжкой и гаечным ключом). Будут заново скомпилированы из исходных кодов все классы проекта.
● Build/ Generate Javadoc for “JavaApplication1” - создание документации по проекту. Из исходных кодов классов выбирается информация, заключённая в документационные комментарии /** … */, и на её основе создаётся гипертекстовый HTML-документ.
● Run/ Run Main Project - запуск приложения (или <F6>, или на панели инструментов иконка с зелёным и жёлтыми треугольниками).
● При запуске приложение автоматически компилируется (но не “строится”).
![Page 16: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/16.jpg)
Выходная консоль
System.out.println("Привет!"); System.out.println("Привет!");Даст текст Привет! Привет!а System.out.print("Привет!"); System.out.print("Привет!");даст Привет!Привет!
![Page 17: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/17.jpg)
Структура проекта NetBeans I
● Source Packages - пакеты исходного кода.● Test Packages - пакеты тестирования.● Libraries – библиотеки.● Test Libraries - библиотеки поддержки
тестирования. ● Ветви дерева представления элементов проекта
можно разворачивать или сворачивать путём нажатия на узлы, отмеченные плюсами и минусами.
![Page 18: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/18.jpg)
Структура проекта NetBeans II
![Page 19: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/19.jpg)
Открытие проекта с существующим кодом
![Page 20: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/20.jpg)
Редактор экранных форм I
![Page 21: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/21.jpg)
Редактор экранных форм II
![Page 22: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/22.jpg)
Назначение обработчика события
![Page 23: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/23.jpg)
Внешний вид приложения
![Page 24: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/24.jpg)
Внешний вид приложенияimport javax.swing.*;import java.awt.*;...public GUI_application() { try{ UIManager.setLookAndFeel(
UIManager.getSystemLookAndFeelClassName() ); }catch(Exception e){}; initComponents(); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = getSize(); setLocation(new Point((screenSize.width-frameSize.width)/2, (screenSize.height-frameSize.width)/2 ) );}
![Page 25: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/25.jpg)
Ведение проектовПри получении работоспособной версии проекта следует делать его архивную копию - в открытом проекте в окне “Projects” щелкнуть правой кнопкой мыши по имени проекта, и в появившемся всплывающем меню выбрать пункт “Copy Project”.
![Page 26: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/26.jpg)
Редактирование меню экранной формы
Окно инспектора компонентов Развёрнутое дерево вложенности
![Page 27: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/27.jpg)
Редактирование всплывающего меню
![Page 28: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/28.jpg)
Создание нового класса, шаг 1
![Page 29: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/29.jpg)
Создание нового класса, шаг 2
![Page 30: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/30.jpg)
Заготовка нового класса
![Page 31: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/31.jpg)
Добавление в класс метода. Шаг 1
![Page 32: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/32.jpg)
Добавление в класс метода. Шаг 2
![Page 33: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/33.jpg)
Документирование исходного кода I
● Осуществляется с помощью специальных документационных комментариев /** Текст комментария в формате HTML */ .
● Также имеется ряд команд документации, начинающихся с символа @ .
● Утилита javadoc позволяет по документационным комментариям создавать систему HTML-страниц с документацией о пакетах и классах.
![Page 34: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/34.jpg)
Документирование исходного кода II
Документационные комментарии бывают для:● Пакетов (пока не функционируют).● Классов.● Интерфейсов.● Пользовательских типов-перечислений (на
уровне пакетов пока не функционируют, но можно использовать для типов, заданных в классах).
● Методов.● Переменных.
![Page 35: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/35.jpg)
Команды документации I● @see –создание гиперссылок на другие комментарии. Формат
использования: @see ИмяКласса – для класса; @see ИмяКласса.ИмяПеречисления – для типа-перечисления, заданного в классе; @see ИмяКласса#ИмяЧлена – для метода или переменной; для интерфейса – аналогично классу.
● @version – информация о версии класса или интерфейса. Формат использования: @version Информация в произвольной форме.
● @author - Информация об авторе класса или интерфейса. Формат использования: @author Информация в произвольной форме.
● @since - Информация о версии JDK, с которой введён класс или интерфейс. Формат использования: @since Информация в произвольной форме.
● @param - информация о параметре метода. Формат использования: @param ИмяПараметра Описание.
● @return - информация о возвращаемом методом значении и его типе. Формат использования: @return Информация в произвольной форме.
● @throws - информация об исключениях, которые могут возбуждаться методом. Формат использования: @throws ИмяКлассаИсключения Описание.
● @deprecated - информация о том, что метод устарел. Формат использования: @deprecated Информация в произвольной форме.
![Page 36: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/36.jpg)
Пример документирования исходного кода I
![Page 37: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/37.jpg)
Пример документирования исходного кода II
![Page 38: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/38.jpg)
Пример документирования исходного кода III
![Page 39: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/39.jpg)
Основные компоненты пакетов swing и awt
JLabel, JButton, JToggleButton, JCheckBox, JRadioButton, ButtonGroup, JComboBox, JList, JTextField, JTextArea, JPanel, JTabbedPane, JScrollBar, JScrollPane, JMenuBar, JPopupMenu, JSlider, JProgressBar, JSplitPane, JFormattedTextField, JPasswordField, JSpinner, JSeparator, JTextPane, JEditorPane, JTree, JTable, JToolBar, JInternalFrame, JLayeredPane, JDesktopPane, JOptionPane: Для выдачи пользователю информационного сообщения следует использовать вызов JOptionPane.showMessageDialog(null, "Привет!","Заголовок сообщения", JOptionPane.INFORMATION_MESSAGE).JColorChooser , JFileChooser , JFrame , JDialog.
![Page 40: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/40.jpg)
Выбор менеджера размещения
![Page 41: Глава 2: Среда разработки NetBeans](https://reader035.vdocuments.site/reader035/viewer/2022081720/557ed1fdd8b42a706f8b501f/html5/thumbnails/41.jpg)
Установка якорей