Главная страница >> Архив рассылки >> Рассылка №3
    

Рассылка coffeevarka.narod.ru



В сегодняшней рассылке:


1. С++ и Java

2. Установка пакета JDK

3. Как вы и просили

4. Дружественные рассылки




    

1. С++ и Java.

    Вопрос: Может С++ применяться как Java? slasher3
     Насколько я понял, вас интересует вопрос совместимости программного кода Java и С++. Так вот, Java - это язык, который похож в некоторых чертах на С/С++, но произошл он не от них, а от языка Oak, был разработан фирмой Sun. Основные понятия и элементы программного кода различаются. Впрочем, в пакете Java Development Kit содержатся средства для поддержки совместимости Java с языком С. В JDK существует утилита JAVAP, которая переводит байт-код Java в С (файлы с расширением .с и .h). Например, чтобы перевести файл playclip.class в язык С надо набрать следующий код:      javap playclip.class      Есть ли такие средства в пакетах С/С++ - точно не знаю. Смотрите описание этих пакетов.


2. Установка пакета JDK.


     Шаг 1. Установка средств, которые поддерживают язык Java. Это может быть Visual J++, JBuilder, JCreator или то средство, о котором идет речь на сайте coffeevarka.narod.ru - Java Development Kit. Этот инстумент можно скачать бесплатно с сайта компании-разработчика Sun - sun.com.
     Шаг 2. Далее устанавливаем JDK на жесткий диск. Архив версии 1.1.8 занимает 8 Мб, в развернутом виде для установки вам понадобится около 25 Мб, в зависимости от того, какие компоненты вы установили. Для установки Java Development Kit необходим Windows 95/NT или выше.
     Шаг 3. В программе установки нам надо будет указать путь для установки JDK. Здесь и далее мы будем предполагать, что вы установите программу на путь по умолчанию - c:\JDK1.1.8. Если вы выбрали другой путь, например e:\MyJava, в дальнейшей инструкции просто замените первый путь на второй.
Вид каталога c:\jdk1.1.8
     Шаг 4. После установки ваш каталог будет иметь следующий вид:
Вид каталога c:\jdk1.1.8
     Вид каталога будет зависеть от того, какие компонеты мы выбрали в программе установки. Наиболее важные подкаталоги описаны ниже:
  • bin - в этом каталоге расположены основные утилиты, которые мы в дальнейшем будем использовать - компилятор, интерпретатор, программа для просмотра апплетов и др.
  • src - расположены основные пакеты и классы, используемые в языке Java. Причем здесь можно просмотреть все эти пакеты и классы, которые находятся в текстовом формате.
  • demo - несколько прилагающихся примеров, которые призваны продемонстрировать возможности Java.
  • lib - здесь находится файл classes.zip, который используется компилятором и интерпретатором Java. Не удаляйте и не разупаковывайте этот файл!!!

     Шаг 5. Далее устанавливаем параметры PATH и CLASSPATH. Для этого мы редактируем файл autoexec.bat в любом текстовом редакторе, сохраняя содержимое как текст (а не как файл Word например). Добавляем в autoexec следующие строки: path c:\jdk1.1.8\bin set CLASSPATH=.;C:\jdk1.1.8\lib\classes.zip


3. Как вы и просили.

Вопрос: Доброго времени суток! Я вот подумал - а интересно бы было рассмотреть исходники какой-нибудь не сложной программы "от и до". Почему-то я ничего такого не встречал :( Например - что-то типа калькулятора - начиная от самого исходника и заканчивая подробностями запуска. У меня как-то куча времени ушла дабы CLASSPATH настроить :) Как оно вообще программы на Java принято распространять? =======================================================================
С уважением Alexey Tsaregorotsev
     Что касается настройки classpath - смотрите раздел выше.
     Теперь попробуем рассмотреть например код такого простенького баннера 88х31 (пример использования можно увидеть на главной странице сайта http:\\coffeevarka.narod.ru).
//Импорт необходимых пакетов Java
import java.net.URL;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
/**
* Little Banner
* 88x31
*
* @author Alex Vanin
*
* 1.05.2002
*/
// Объявление открытого класса с использованием интерфейса обработки событий
public class BannerEx1 extends Applet implements
MouseListener {
// Объявляем переменную fonts (font size)
int fonts;
// Объявление класса инициализации
public void init() {
// Добавляет слушатель событий (AWT Event version 1.1)
this.addMouseListener(this) ;
}
// Класс для прорисовки апплета
public void paint (Graphics g) {
// устанавливаем белый цвет
g.setColor (Color.white);
// рисуем пустой прямоугольник
g.drawRect (0,0,87,30);
// теперь черный цвет
g.setColor (Color.black);
// и заполненный прямоугольник
g.fillRect (1,1,85,28);
// а вот и наш первый параметр - название шрифта. Его можно менять через файл HTML
String fontn = getParameter ("FontFace");
// если мы не ввели имя шрифта или ввели несуществующий шрифт, то используется умолчальный шрифт - Гельветика.
if ((fontn != "Dialog") || (fontn != "Helvetica") || (fontn != "TimesRoman") || (fontn != "Courier")) {
fontn = "Helvetica";
}
// теперь второй параметр - размер шрифта. Так как это числовой параметр - то надо поймать исключение нечислового формата
try {
fonts = Integer.parseInt (getParameter ("FontSize"));
}
catch (NumberFormatException exp){
}
// нельзя использовать слишком большой или слишком маленький шрифт. Умолчальный шрифт - 20pts
if ((fonts > 25) || (fonts < 8)) {
fonts = 20;
}
// соединяем два параметра шрифта и делаем жирок
Font ourfont = new Font (fontn, Font.BOLD, fonts);
// устанавливаем этот шрифт и зеленый цвет
g.setFont (ourfont);
g.setColor (Color.green);
// теперь получаем из HTML тот текст, который надо будет вывести в поле нашего баннера
String Text=getParameter ("text");
// если не приведи Бог, мы не ввели текст в HTML будет выводится текст "Java"
if (Text==null){
Text = "Java";
}
// Ну, наконец-то рисуем эту строку в поле баннера
g.drawString (Text, 24, 20);}
// Теперь идет обработка события - нажатие на поле баннера
public void mousePressed(MouseEvent e) {
// Получаем ваш URL
String YourURL = getParameter ("yourURL");
// если вы забыли параметр - выводится сайт разработчика апплета
if (YourURL==null){
YourURL="http://coffeevarka.narod.ru/";}
// теперь определяем будет ли выводится ваш сайт в текущем или в новом окне.
String self_Blank = getParameter ("self_blank");
if (self_Blank != "_self") {
if (self_Blank != "_blank") {
self_Blank = "_self";}}
// теперь - логическое завершение - собственно вывод вашего URL на белый свет
try {
AppletContext ap = getAppletContext ();
ap.showDocument (new URL (YourURL),self_Blank);
}
catch (Exception exc) {}
}
// если мы наводим мышь на область баннера - в статусной строке выводится подсказка
public void mouseEntered(MouseEvent e) {
// это мы уже проходили
String YourUrl= getParameter ("yourURL");
if (YourUrl==null) {
YourUrl = "http://coffeevarka.narod.ru/";}
showStatus ("Click mouse button to enter "+YourUrl);}
// ну а если пользователю не понравился наш баннер и он вышел из его области приводим строку состояния в обычный вид
public void mouseExited(MouseEvent e) {
showStatus ("");
}
// пустые обработчики событий
public void mouseReleased(MouseEvent e) {;}
public void mouseClicked(MouseEvent e) {;}
// © Copyright
public String getAppletInfo () {
return "Little Banner \n88x31 \nAuthor: Alex Vanin \n1.05.2002";
}
}
// Ну вот и все!!!
Теперь минимальный текст HTML-файла для вывода вышеуказанного апплета.
<applet code = BannerEx1>
</applet>
Однако в этом случае будет выведен баннер шрифтом Гельветика размером 20 с возможностью перехода только на сайт coffeevarka.narod.ru. Я был бы не против этого, но это может не понравится вам. Поэтому попробуем скорректировать эти неудобности. Для этого необходимо использовать теги <param> внутри тега <applet> ... </applet>. Например мы хотим, чтобы на поле баннера выводилось "Gates" и баннер переводил бы нас на сайт http://microsoft.com/rus в новом окне. В нашем примере будем использовать следующие параметры:
<applet code = BannerEx1>
<param  name = text value = "Gates">
<param name = yourURL value = "http://microsoft.com/rus>
<param name = self_blank value = _blank>
</applet>
Чтобы поэкспериментировать с этим апплетом вы можете скомпилировать вышеуказанный текст апплета или скачать этот апплет с сайта coffeevarka.narod.ru




    

Дружественные рассылки:

Lotus Notes 5
Сервис почтовых рассылок CONTENT.MAIL.RU
E-mail:

 




<Наверх> <Предыдущий номер> <Следущий номер> <На главную страницу>
©  Alex Vanin         year 2002
     bookmans@mail.ru