Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Медведев_С++_CLI_C#_Java_J#.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.17 Mб
Скачать

1) Создать новый проект:

а) выбрать меню File/New/Project\ появилась панель New Project

б) на вкладке Project Types панели выделить строку Visual C++/CLR-,

в) на вкладке Templates панели выделить CLR Console Application\

г) используя Location и Browse панели, выбрать каталог, в котором

разместятся файлы проекта;

д) в поле Name панели указать имя проекта (например, ccTempl);

е) нажать кнопку OK\

ж) появилось окно с текстом программы, выдающей на консоль слово

Hello World-.

|| ccTempl.cpp : maln projectfHe.

#include "stdafx.h"

using namespace System;

lnt main (array<System::Strlng ^> ^args)

{

Console::WriteLlne (L"Hello World");

return 0;

>

2) Изменить этот файл, создав требуемый файл .cpp.

3) Компилировать программу и получить файл .exe, выполнив команду

Build/Build Solution.

При наличии ошибок скорректировать программу и заново выполнить этот

пункт 3. При отсутствии ошибок появится строка

Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped

Перейти к следующему пункту 4.

4) Исполнить приложение, выполнив команду Debug/Start Without Debugging.

Появилось консольное окно с результатами выполнения приложения.

Консольное С#-приложение

Для создания и выполнения консольного Cff-приложения после запуска

Visual Studio выполнить __________действия:

1) Создать новый проект:

а) выбрать меню File/New/Project; появилась панель New Project

б) на вкладке Project Types панели выделить строку Visual C#;

в) на вкладке Templates панели выделить Console Application\

г) используя Location и Browse панели, выбрать каталог, в котором

разместятся файлы проекта;

д) в поле Name панели указать имя проекта (например, csTempl);

е) нажать кнопку OK\

ж) появилось окно с текстом программы, выдающей пустое консольное

окно:

using System;

using System.Collections.Generic;

using System.Text;

namespace csTempl

{

class Program

{

static void Main (string[] args)

{

>

>

>

2) Изменить этот файл, создав требуемый файл .cs.

3) Компилировать программу и получить файл .exe, выполнив команду

Build/Build Solution.

При наличии ошибок скорректировать программу и заново выполнить этот

пункт 3. При отсутствии ошибок появится строка

Rebuild All: 1 succeeded, 0 falled, 0 skipped

Перейти к следующему пункту 4.

4) Исполнить приложение, выполнив команду Debug/Start Without Debugging.

Появилось консольное окно с результатами выполнения приложения.

Консольное ^приложение

Для создания и выполнения консольного У^приложения после запуска

Visual Studio выполнить действия:

1) Создать новый проект:

а) выбрать меню File/New/Project; появилась панель New Project

б) на вкладке Project Types панели выделить строку Vkual J#;

в) на вкладке Templates панели выделить Console Application\

г) используя Location и Browse панели, выбрать каталог, в котором

разместятся файлы проекта;

д) в поле Name панели указать имя проекта (например, cjTempl);

е) нажать кнопку OK;

ж) появилось окно с текстом программы, выдающей пустое консольное

окно:

package cjTemp2;

/**

* Summary description for Program

* /

public class Program

{

public static void main (String[] args)

{

//

// TODO: Add code to start application here

// >

>

2) Изменив этот файл, создать требуемый файл .jsl.

3) Компилировать программу и получить файл .exe, выполнив команду

Build/Build Solution.

При наличии ошибок скорректировать программу и заново выполнить этот

пункт 3. При отсутствии ошибок появится строка

Build: 1 succeeded or up-to-date, 0 failed, 0 skipped

Перейти к следующему пункту 4.

4) Исполнить приложение, выполнив команду Debug/Start Without Debugging.

Появилось консольное окно с результатами выполнения приложения.

С#-библиотека

Для создания DLL библиотеки с классом на языке C# после запуска Visual

Studio выполнить действия:

1) Создать новый проект:

а) выбрать меню File/New/Project; появилась панель New Project

б) на вкладке Project Types панели выделить строку Visual C#;

в) на вкладке Templates панели выделить Class Library;

г) используя Location и Browse панели, выбрать каталог, в котором

разместятся файлы проекта;

д) в поле Name панели указать имя библиотеки (например,

csClasslLib);

е) нажать кнопку OK;

ж) появился сгенерированный класс Classl:

using System;

using System.Collect!ons.Generlc;

using System.Text;

namespace csClasslLib

{

public class Classl

{

>

>

2) Изменив этот класс, создать требуемый класс или требуемые классы.

3) Компилировать программу и получить файл .dll выполнив команду

Build/Build Solution.

При наличии ошибок скорректировать программу и заново выполнить этот

пункт 3. При отсутствии ошибок появится строка

Build: 1 succeeded ог up-to-date, 0 failed, 0 skipped

В каталоге Debug проекта появился .dll файл библиотеки.

4) Библиотека создана, имеет пространство имён и содержит помещённый в

неё класс. Дополнительно в эту библиотеку можно поместить иные классы и

интерфейсы с обязательным указанием доступа public для каждого из них,

чтобы они были доступны вне библиотеки.

1#-библиотека

Для создания DLL библиотеки с классом на языке J# после запуска Visual

Studio выполнить действия:

1) Создать новый проект:

а) выбрать меню File/New/Project; появилась панель New Project

б) на вкладке Project Types панели вьщелить строку Visual J#;

в) на вкладке Templates панели выделить Class Library;

г) используя Location и Browse панели, выбрать каталог, в котором

разместятся файлы проекта;

д) в поле Name панели указать имя библиотеки (например,

cjClasslLib);

е) нажать кнопку OK;

ж) появился сгенерированный класс Classl, размещённый в пакете

cjClasslLib:

package pjClasslLib;

!**

* Summary description for Classl

*/

public class Classl

{

public Classl ()

<

//

// TODO: Add constructor logic here

//

>

>

2) Изменив этот класс, создать требуемый класс.

3) Компилировать программу и получить файл .dll выполнив команду

Build/Build Solution.

При наличии ошибок скорректировать программу и заново выполнить этот

пункт 3. При отсутствии ошибок появится строка

Bulld: 1 succeeded or up-to-date, 0 failed, 0 skipped

4) Библиотека создана, имеет имя пакета и содержит помещённый в неё

класс.

Связывание консольного С#-приложение с библиотекой

Для создания консольного С#-приложения, связанного с библиотекой, после

запуска Visual Studio выполнить действия:

1) Создать новый проект для консольного приложения, как рассказано ранее,

или открыть уже созданный проект консольного приложения (например,

csTemp2).

2) Изменить файл консольного приложения (например, csTemp2), добавив в

него строку, указывающую пространство имён используемой библиотеки

(допустим, csClasslLib), например, так:

using System;

using System.Collections.Generic;

using System.Text;

using csClasslLib;

namespace csTemp2

{

class Program

{

static void Main (string[] args)

{

// Создать объект класса Classl из библиотеки

csClasslLib.Classl c l l = new csClasslLib.Classl ();

// использовать объект cll надлежащим образом

>

>

>

3) Сообщить приложению, где находится библиотека.

а) выполнить команду Project/AddReference...

б) в появившемся диалоговом окне выбрать вкладку Projects;

в) используя Browse..., найти требуемую библиотеку, например, библио-

теку csClasslLib.dll в каталоге.. csClasslLib /debug/csClasslLib.dll;

г) добавить найденную библиотеку, нажав кнопку Open, а затем - кнопку

ОК.

4) Получить объединённый файл .exe, выполнив команду Build/Build

Solution.

5) Исполнить приложение, выполнив команду Debug/Start Without Debugging.

Появилось консольное окно с результатами выполнения консольного при-

ложения совместно с подключённой библиотекой

Связывание консольного 1#-приложение с библиотекой

Для создания консольного ^#-приложения, связанного с библиотекой, после

запуска Visual Studio выполнить действия:

1) Создать новый проект для консольного приложения, как показано ранее в

этом разделе, или открьггь уже созданный проект (например, cjTemp2).

2) Изменить файл консольного приложения (например, cjTemp2), добавив в

него строку, указывающую пространство имён используемой библиотеки

(допустим, csClasslLib), например, так:

uslng System;

using System.Collections.Generic;

using System.Text;

import csClasslLlb.Classl;

{n amespace csTemp2

class Program

{

static void Main (string[] args)

t k

// Создать объект класса Classl из библиотеки

csClasslLib.Classl cll = new csClasslLib.Classl ( );

// использовать объект cll надлежащим образом

>

>

>

3) Сообщить приложению, где находится библиотека.

а) выполнить команду Project/AddReference...

б) в появившемся диалоговом окне выбрать вкладку Projects;

в) используя Browse..., найти требуемую библиотеку, например, библио-

теку cjClasslLib.dll в каталоге.. cjClasslLib/bin/Debug/cjClasslLib.dll;

г) добавить найденную библиотеку, нажав кнопку Open, а затем - кнопку

ОК.

4) Получить объединённый файл .exe, выполнив команду Build/Build

Solution.

5) Исполнить приложение, выполнив команду Debug/Start WithoutDebugging.

Появилось консольное окно с результатами выполнения консольного при-

ложения совместно с подключённой библиотекой.

Использование Eclipse

Рассматривается последовательность действий в среде Eclipse для соз-

дания Java-приложений.

Создание интерфейса

Для создания интерфейса после запуска Eclipse выполнить действия:

1) Создать новый проект:

2) а) выбрать меню File/New/Java Project; появилась панель New Java Project;

б) в поле ProjectName панели ввести имя проекта (например, ITempl);

в) нажать кнопку Finish; В перечне проектов появится проект ITempl;

3) Создать пакет:

а) выделить (высветить) имя проекта;

б) выбрать меню File/New/Package; появилась панель New Java

Package;

в) в поле Name панели ввести имя пакета (например, ITemplPak);

в) нажать кнопку Finish; В директории проекта появилось имя пакета

ITemplPak;

4) Создать интерфейс:

а) выделить (высветить) имя проекта;

б) выбрать меню File/New/Interface; появилась панель New Java Interface;

в) в поле Name панели ввести имя интерфейса (например, Itl);

г) в поле, используя Browse, указать имя пакета (например,

ITemplPak);

в) нажать кнопку Finish; В окне появился сгенерированный интерфейс:

package ITemplPak;

public interface Itl {

>

5) Заполнить этот интерфейс требуемыми элементами, например:

package ITemplPak;

public interface Itl {

lnt Get ();

>

Создание класса без функции mainO

Для создания класса после запуска Eclipse выполнить действия:

1) Создать новый проект:

2) а) выбрать меню File/New/Java Project; появилась панель New Java Project;.

б) в поле ProjectName панели ввести имя проекта (например, Classl);

в) нажать кнопку Finish; В перечне проектов появится проект Classl;

3) Создать пакет:

а) выделить (высветить) имя проекта;

б) выбрать меню File/New/Package; появилась панель New Java

Package;

в) в поле Name панели ввести имя пакета (например, ClassIPak);

в) нажать кнопку Finish; В директории проекта появилось имя пакета

ClasslPak;

4) Создать класс:

а) выделить (высветить) имя проекта;

б) выбрать меню File/New/Class; появилась панель New Java Class;

в) в поле Name панели ввести имя класса (например, Classl);

г) в поле Package, используя Browse, указать имя пакета (например,

ClasslPak);

в) нажать кнопку Finish; В окне появился сгенерированный класс:

package ClasslPak;

public class Classl <

>

5) Реализовать этот класс требуемым образом.

Соединение интерфейса с классом

Для создания класса с интерфейсом выполнить следующие действия:

1) Изменить класс, указав наследование интерфейса, например:

package ClasslPak;

import ITemplPak.Itl;

pubiic class Classl implements Itl{

int Get ( ) {return 10;>

>

2) Связать класс с интерфейсом:

а) нажав на правую клавишу мыши на имени проекта, выбрать в выпа-

дающем меню Properties\ появилась панель Properties for (classl),.

б) выделить Java Build Path и Projects-,

в) нажать кнопку Add и в появившейся панели Required Project Selections

выделить проект интерфейса (например, ITempl);

г) нажать кнопку OK на панели Required Project Selection;

д) нажать кнопку OK на панели Properties for (classl);

Создание класса, содержащего функцию mainO

Для создания класса после запуска Eclipse выполнить действия:

6) Создать новый проект:

7) а) выбрать меню File/New/Java Project; появилась панель New Java Project;.

б) в поле Project Name панели ввести имя проекта (например, Class2);

в) нажать кнопку Finish; В перечне проектов появится проект CIass2;

8) Создать пакет:

а) выделить (высветить) имя проекта;

б) выбрать меню File/New/Package; появилась панель New Java

Package;

в) в поле Name панели ввести имя пакета (например, Class2Pak);

r) нажать кнопку Finish; В директории проекта появилось имя пакета

ClasslPak;

9) Создать класс:

а) выделить (высветить) имя проекта;

б) выбрать меню File/New/Class; появилась панель New Java Class;

в) в поле Name панели ввести имя класса (например, Class2);

г) в поле Package, используя Browse, указать __________имя пакета (например,

Class2Pak);

д) в поле Wich method stubs do you like to create? выбрать public static

void main(String[] args);

е) нажать кнопку Finish; В окне появился сгенерированный класс:

package Class2Pak;

public class Class2 {

!**

* @рагвт args

*/

public static void main (String[] args) {

// TODO Auto-generated method stub >

10) Заполнить этот класс требуемым.

Соединение класса с классом (или интерфейсом)

Для соединения класса с классом выполнить следующие действия:

1) Изменить надлежащий класс (например, класс Class2), указав им-

портирование другого класса (например, класса Classl пакета

ClasslPak):

package Class2Pak;

Import ClasslPak.Classl;

public class Class2 <

public static void main (String[] args) {

// Создание и применение класса подключённого пакета

Classl cll= new Classl ( );

System.out.println (cll.Get());

>

2) Связать класс (Class2) с требуемым классом (Classl):

а) нажав на правую клавишу мыши на имени проекта выбрать в выпа-

дающем меню Properties', появилась панель Properties for (class2)\.

б) выделить Java Build Path и Projects',

в) нажать кнопку Add и в появившейся панели Required Project Selections

выделить проект подсоединяемого класса(например, Classl);

г) нажать кнопку OK на панели Required ProjectSelection;

д) нажать кнопку OK на панели Properties for (class2');

Перечень примеров программ

Пример 2.2.1, Описание класса объекта-шара на языках C++/CLI,

C# и Java 15

Пример 2.2.2. Создание и использование объектов 18

Пример2.4.1.КлассССо1Ва11, наследуемыйклассСВаН 22

Пример 2.4.2. Использование функций объектов 24

Пример 3.5.1. Использование стека, неуправляемой и управляемой

куч на языке C++/CLI 31

Пример 4.2.1. Консольный ввод и вывод на языках C++/CLI, Javan

C# 36

Пример 4.3.1. Объявление переменной в середине блока 40

Пример 4.4.1. Использование операторов new, gcnew и delete в

языке C++/CLI 41

Пример 4.4.2. Использование оператора new в языках Java и C# 43

Пример 4.5.1. Описание одномерных неуправляемых массивов на

языке C++/CLI 48

Пример 4.5.2. Описание одномерных массивов на языке Java и C# 49

Пример 4.5.3. Создание массивов объектов на языке C++/CLI 50

Пример 4.5.4. Создание массивов объектов на языке Java 52

Пример 4.6.1. Описание структур в языках C++/CLI и C# 53

Пример 4.7.1. Использование ссылочной переменной 54

Пример 4.8.1. Перегруженные функции swap (int &, int &) и swap

(bool &, bool &) 55

Пример 4.9.1. Задание значений параметров функции по умолчанию 56

Пример 4.10.1. Различные способы передачи и получения данных 57

Пример 5.1.1. Описание класса и создание его объектов 60

Пример 5.2.1. Описание функций вне класса 64

Пример 5,3=1: Области видимости 66

Пример 5.4.1. Объект содержит объект другого класса 67

Пример 5.5.1. Перегруженные конструкторы 70

Пример 5.6.1. Статические функции 72

Пример 6.2.1. Программа, использующая порождение public 78

Пример 6.4.1. Выполнение конструкторов 81

Пример 6.5.1. Сокрытые переменные и функции 84

Пример 6.6.1. Наследование интерфейса в C# и C++/CL1 87

Пример 6.7.1. Упаковка и распаковка типов значений 90

Пример 7.5.1. Реализация класса CComputer 100

Пример 7.5.2. Реализация класса CShop 101

Пример 7.5.3. Реализация класса CData 103

Пример 7.5.4. Реализация Inf-приложения 104

Пример7.6.1.Реализация Inf-приложения на языке C# 107

Пример 8.1.1. Свойства в C++/CLI и C# 112

Пример 8.1.2. Свойства в Java 113

Пример 8.2.1. Создание и использование делегата 117

Пример 8.2.2. Использование делегата как параметра функции 119

Пример8.3.1.Событиеиделегат 123

Пример 8.3.2. Использование события 128

Пример 8.3.3. Широковещательное событие 130

Пример 8.3.4. Связь между объектами посредством событий 134

Пример 8.3.5. Событие с данными 138

Пример 8.3.6. Событие типа EventHandler 140

Пример 8.4.1.1. Обозреватель и наблюдаемый объект 144

Пример 8.4.1.2. Два обозревателя и один наблюдаемый объект 145

Пример 8.4.1.3. Один обозреватель и два наблюдаемых объекта 147

Пример 8.4.1.4. Два однотипных объекта уведомляют друг друга 148

Пример 8.4.2.1. Реализация источника и приёмника события 151

Пример8.4.2.2.Реализациякласса иинтерфейсасобытия 153

Пример 8.4.2.3. Использование библиотеки с классом и

интерфейсом события 156

Пример 9.2.1. Два параллельно выполняющихся потоковых о&ьекта

наязыкеС# 162

Пример 9.3.1. Два параллельно выполняющихся потоковых объекта

на языке Java 168

Пример 9.4.1. Потоковый объект, выдающий событие 172

Пример 9.4.2. Потоковый объект, уведомляющий обозреватель 178

Пример 9.5.1. Поток получил событие из объекта 180

Пример 9.5.2. Поток получил уведомление из наблюдаемого

объекта 186

Пример 9.6.1.1. Оператор lock и потоки на языке C# 189

Пример 9.6.1.2. Оператор synchronized и потоки на языке Java 192

Пример 9.6.2.1. Приостановка и возобновление потока в Java 196

Пример 9.6.2.2.1. Monitor и потоки 199

Пример 9.6.2.2.2. Приостановка и возобновление потока в C# 201

Пример 9.6.2.3.2. Приостановка и возобновление потока в C++/CLI 203

Пример10.3.1.С#. npocToeWindows-пршюжение.Дваварианта 207

Пример 10.3.2. Java. Простоеоконноеприложение 208

Пример 10.33. C++/CLI. npocTOeWindows-приложение 209

Пример 10.4.1. Программа обработки события мыши на C# 212

Пример 10.4.2. Программа обработки события мыши на C++/CLI 215

Пример 10.4.3. Программа обработки события мыши на Java 216

Пример 10.4.4. Связь события с несколькими объектами 217

Пример 10.5.2. Обработка событий мыши на Java, используя

интерфейс MouseListener 221

Пример 10.5.3.1. Обработка событий мыши на Java, используя

классы адаптеров 225

Пример 10.5.4.1. Обработка событий мыши на Java, используя

внутренние классы адаптеров 227

Пример 10.5.4.2. Обработка событий мыши на Java, используя

внутренний анонимный класс 228

Пример 10.5.5.1. Обработка события закрытия окна 229

Пример 10.6.1. Использование графического объекта 238

Пример 10.7.1. Программа рисования ломаной линии 241

Пример10.8.1. Программа суправляющимиэлементаминаязыке

C# 249

Пример10.8.2. Программа суправляющимиэлементаминаязыке

Java 251

Пример 10.8.3. Программа с управляющими элементами на языке 253

C++/CLI

Пример 10.8.4. Программа с управляющим элементом типа

UserControl на языке C# с рисованием в потоке. 257

Пример 10.8.5. Программа с управляющим элементом типа

UserControl на языке C# с применением потока и функции OnPaint() 259

Пример 10.8.6. Программа с управляющим элементом типа Panel

на языке Java с применением потока и функции paint() 261

Пример 10.9.1. Программа с дочерними окнами 263

Пример 10.9.2. Программа с дочерними окнами на языке Java(J#). 265

Пример 10.9.3. Программа с дочерними окнами на языке C++/CLI. 267

Пример 10.10.1. Исключение не обрабатывается 269

Пример 10.10.2. Обрабатка DivideByZeroException исключения 271

Пример 10.10.3. Вложение исключений 272

Пример 10.10.4. Обработчик кнопки использует исключение 273

Пример 11.4.1.1. Класс Warehouse 284

Пример 11.4.1.2. Приложения csTestWarehouse и cjTestWarehouse 292

Пример 11.4.2.1. Класс ContrlRegion 299

Пример11.4.2,2. KjiaccLorry 301

Пример 12.4.2.3. Приложение csTestLorry 309

Пример 11.4.3.1. npwKHKeHHecsLorryAndWarehouse 316

Пример11.4.3.2. Класс Lorry с функцией Dispose() 332

Пример 11.4.3.3. Удаление объекта класса Lorry с функцией

Dispose() 336

Пример 13.1.1.1. Приведение типов классов 3^8

Пример 13.1.1.2. Вызов функций по типу объекта 3^0

Пример 13.1.1.3. Обращение к объектам через параметр базового

класса ъ1~^

Пример 13.1.2.1. Виртуальные функции 31^

Пример 13.1.2.2. Объявление виртуальной функции в базовом

классе 376

Пример 13.2.2.1. Абстрактные классы и функции Ъ$2

Пример 13.2.2.1. Абстрактный класс с событием, свойством,

обычной функцией и интерфейсом 385

Приложение 4. LorryAndWarehouse-приложение на языке Java 3^2

Приложение 5. LorryAndWarehousc-приложение на языке C# 404

Предметный указатель

ActionEvent 220

ActionListener 221

actionPerformed() 221

Add () 246

add() 247

addActionListener() 248

addMouseListener() 224, 227

addObserver () 143

addWindowListener() 229

AdjustimentEvent 220

AdjustmentListener 221

API функции 160

Application 208

ArithmeticException 272

Array 48

array 45

ArrayList 153

BackColor 248

base 24, 81

Boolean 39,91

booleanValue() 91

BorderLayout 253

Bottom 232

boxing35,89

Brush 235

BufferedReader 38

Button 246,247

Byte 39

C + + 1 0

C++.NET 11

C++/CLI 11

C # 1 0

calIoc() 40

catch 248

Character 39,91

charValue() 91

class 15,60

Clear () 246

cIearChange() 143

Click 247

CLR27

Color 233

ComponentAdapter 224

ComponentEvent 220

ComponentListener 221,224

ContrlRegion 297

Console 35

ContainerAdapter 224

ContainerListener 221,224

Contains() 232

Control 207,246

ControlCollection 246

Controls 246

Convert 36, 39

countObservers () 143

CreateGraphics () 231

delegate 112

Delegate 112

delegate 28

delete 30,40,70

deleteObserver () 143

deleteObservers () 143

descriptor 30,34,40

DivideByZeroException 269

DLL библиотека 160

Double 39,91

doubleValue() 91

DrawEUipse () 236

DrawLine () 242

drawLine() 237

drawOval() 237

drawRect() 237

DrawRectangle () 236

DrawString () 236

Enter() 198

enum 53

event 30,127

event 122

event 29

EventArgs 137 Int32 90

EventHandler 140, 248 Invalidate () 240

Exception 37,248 Italic 236

exit() 229, 244 ltemEvent 220

Exit() 198 ItemListener 221

extends 23, 80,87

Java 10

Fil!Ellipse () 237 JVM 10,27

fillOval() 237

fIllRect() 237 KeyAdapter 224

finally 270 KeyEvent 220

Float 39, 71 KeyListener 221, 224

floatValue() 91

FlowLayout 253 Length 50

FocusAdapter 224 lengh 48,50

FocusEvent 220 Location 248

FocusListener 221,224 lock 188

Font 236 Long9

FontStyle 236 longValue() 91

Form 207,210 Lorry 299

Frame 207,211 LorryAndWarehouse-приложение 277

free 40

FromArgb () 233 Main() 161

malloc() 40

GC 29 managed code 28

gc 28 managed heap 34

gcnew 30,40 MessageBox218

get 111 Monitor 198

get() 152 MouseAdapter 224, 227

getGraphics() 231 mouseCIicked() 221

getLocation() 248 mouseClosed() 221

GDI 231 MouseDown 212

Graphics 236 mouseDown() 216,223

GridLayout 253 mouseEntered() 221

MouseEvent 220

hasChanged () 143 MouseEventArgs 212

Height 232 mouseExited() 221

MouseEventHandler 212

implements 80, 87 MouseListener 221,224

inline 60 MouseMotionAdapter 224

InputEvent 220 MouseMotionListener 221

Integer 38, 91,273 mousePressed() 224

interface 75,86 mouseReleased() 221

InterruptedException 168,268 MSIL 11,27

intValue() 91

new 40 Runnable 168

nogc 28

notify() 188, 195 set 111

notifyAU() 188,195 setChanged () 143

notifyObservers() 143,220 setColor() 237

NumberFormatException 273 setFont() 237

0bject210

setLayOut() 253

setLocation() 248,253

object 210 setSize() 208,248

Observable 142 setTitle() 208

Observer 142 Short 39

Offset 0 231,232 Show () 208

OnMouseDown() 213 show() 208

OnPaint () 240,241 Size 207

override 240, 366 size() 327

Sleep () 161

Paint 240 sleep() 161

paint() 240,241 SolidBrush 235

PaintEventArgs 240 Start() 166

PaintEventHandler 240 start() 168

Panel 256 stdafx.h 42

parseInt() 38, 39, 273 struct 53

Pen 234 StreamReader 38

Point 231 super 23,81

println() 16,17,38 Suspend () 166

private 15,60 ATL 26

property 30,111 java.lang 26

protected 76 java.util 26

proxy 35 java.io 26

public 15, 16,60 MFC 26

Puls() 198 NET.Framework 26

PulsAll() 198 STL 26

synchronized 189

Read () 35

ReadLine () 35 Text 207

readLine () 38 TextBox 246,248

Rectangle 232 TextEvent 220

ref 30,57 TextField 247,248

reference type 34 TextLength 248

Remove () 246 TextListener 221

remove() 151,247 this 71

repaint() 240 Thread 161

Resume () 166 thread-primary 160

Run() 207 -work 160

run() 168 ThreadStart 161

ToIntl6() 39

ToInt32() 36, 39, 101

ToInt64() 39

ToBoolean 39

ToByte() 39

ToChar() 39

ToDecimal() 39

ToDouble() 39

ToSingle() 39

ToString () 39

toString () 39

throw 101,268

try-catch 38, 101,268

try-catch-finally 269

TryEnter() 198

UML 19

unmanaged heap 34

update() 142

UserControl 256

using 32