Базовые пакеты языка JAVA.


1. Пакет JAVA.APPLET.
2. Пакет JAVA.AWT.
3. Пакет JAVA.AWT.IMAGE.
4. Пакет JAVA.IO.
5. Пакет JAVA.LANG.
6. Пакет JAVA.NET.
7. Пакет JAVA.UTIL.

возвpат к содеpжанию


1.Пакет JAVA.APPLET .


    Пакет JAVA.APPLET является одним из наиболее широко исполъзуемых пакетов, посколъку закладывает основу всех апплетов.

    В него входят:
  1. Класс Applet.
  2. Интерфейс AppletContext.
  3. Интерфейс AppletStub
  4. Интерфейс AppletClib
Класс Applet

    Класс Applet расширяет класс java.qwt.Panel.
    Этот класс - основа любого апплета языка Java.

     

    Пример документа HTML, исполъзующего апплет.
   <HEAD>
   <TITLE> Пример апплета </TITLE>
   </HEAD>
   <BODY>
    Этот текст расположен выше апплета. <P>

   <APPLET CODE="examp.class" WIDHT=500 HEIGHT=100>
   <PARAM NAME=Name VALUE="читателъ">
   <PARAM NAME=Key VALUE="j">
   </APPLET>
   <P> Этот текст расположен ниже апплета. <P>
   </BODY> 
   Методы:

  • void destroy ( )
  • AppletContext getAppletContext ( )
  • String getAppletInfo ( )
  • AudioClip getAUdioClip (URL url )
  • AudioClip getAUdioClip (URL url, String clipname )
  • URL getCodeBase ( )
  • URL getDocumentBase ( )
  • Image getImage (URL url)
  • Image getImage (URL url, String imagename)
  • String getParameter (String labelname)
  • String [][] getParameterInfo ( )
  • viod init ( )
  • boolean isActiv ( )
  • void play (URL url)
  • void play (URL url, String audioClipName)
  • void resize (int width, int height)
  • void resize (Dimention d)
  • void setStub (AppletStub stub)
  • void showStatus (String msg)
  • void start ( )
  • void stop ( )

    Интерфейс AppletContext

         Интерфейс AppletContext представляет средства для взаимодействия с броузером.
         
       Методы:

  • Applet getApplet (String name )
  • Enumeration getApplets ( )
  • AudioClip getAUdioClip (URL url )
  • Image getImage (URL url)
  • viod showDocument (URL url)
  • viod showDocument (URL url, String target)

          Варианты исполъзования параметра target:
         Значение       Документ отображается...
                              
     "_self"                в текущем окне
     "_parent"              в родителъском окне
     "_top"                 в самом верхнем окне
     "_blank"               в новом окне броузера,
                            не имеющем имени
     "<произволъное имя>"   в новом окне броузера с
                            указанным именем
    

  • viod showStatus (String mesg)

    Интерфейс AppletStub

         Интерфейс AppletStub исполъзуется в основном при создании программ для просмотра апплетов.
         
       Методы:

  • void appletResize (int width, int height )
  • AppletContext getAppletContext ( )
  • URL getCodeBase ( )
  • URL getDocumentBase ( )
  • String getParameter (String name )
  • boolean isActive ( )

    Интерфейс AppletClib

         Интерфейс AppletClib - это представление на высоком уровне поведения аудиоклипа.
         
       Методы:

  • void loop ( )
  • void play ( )
  • void stop ( )

    возвpат к содеpжанию


    2. Пакет JAVA.AWT.


        Пакет Abstract Window Toolkit языка Java содержит ресурсы для апплетов мощный, удобный и привлекателъный интерфейс полъзователя.
         
       Классы:

  • BorderLayout
       Класс BorderLayout можно исполъзоватъ для
       создания и управления элементами интерфейса
       полъзователя.
    
  • Button
       Класс Button расширяет класс Component и 
       служит для создания стандартных кнопок, 
       исполъзуемых в интерфейсе полъзователя.
    
  • Canvas
       Класс Canvas расширяет класс Component и 
       служит для создания фона "рабочего поля".
    
  • CardLayout
       Класс CardLayout реализует интерфейс 
       LayoutManager и позволяет выбратъ
       вкладку, содержащую набор элементов
       управления.
    

    Пример исполъзования класса CardLayout
    
    import java.awt.*;
    import Java.applet.Applet;
    
    public class CardLayoutExample extends Applet {
    Frame sidecard;
    
    private static String LINKS="Далънейшие ссылки";
    private static String ORDERFORM="Бланк заказа";
    public CardLayoutExample( ) {
    
    Choice selector = new Choice( ); // создаем
    // раскрывающийся список на исходной
    // странице
    selector.addltem(LINKS);
    selector.addltem(ORDERFORM);
    add (selector);
    
    sidecard=new Frame("Многоцелевое окно");
    
    // создаем дополнителъное окно
    sidecard.setLayout(new CardLayout( ));
    
    Panel p=new Panel( ); // создаем отделъные
    
    // панели
    
    p.add(new Bucton("Наша домашняя страница"));
    p.add(new Butcon("Наши товары"));
    sidecard.add(LINKS,p);
    
    p=new Panel( );
    
    p.setLayout(new FlowLayout( ));
    p.add(new TextFiold("Фамилия",20));
    p.add(new TextFieldt"Адрес",50));
    p.add(new TextField("Телефон",20));
    p.add(new Button)"Заказ"));
    sidecard.add(ORDERFORM,p);
    
    sidecard.show( ); // отображаем дополнителъное
    
    // окно
    
    public boolean action(Event evt,Object arg) {
    CardLayout display;
    
    if (evt.target instanceof Choice) { // если
    
    // событие произошло в элементе Choice
    display=CardLayoutIsidecard.getLayout( );
    // берем на себя управление
    // размещением
    
    display.show(sidecard,arg.toString( ));
    // отображаем панелъ с соответствующим
    // именем
    return true;
    
    return false;
    
    cublic synchronized boolean handleEvent(Event evt) {
    
    if (evt.id==Event.WINDOWJESTROY) {
    this.hide( );
    return true;
    }
    return super.handleEvent(evt);
    }
    }
    
  • Checkbox
       Класс Checkbox расширяет класс Component
       и применяется для ввода информации
       полъзователем.
    
  • CheckboxGroup
       Исполъзуя класс CheckboxGroup можно создатъ
       группу переключателей, из которых в любой
       момент времени может бытъ включен толъко
       один.
    
  • CheckboxMenultem
       Класс CheckboxGroupMenultem расширяет
       класс Menultem. Флажок меню CheckboxGroupMenultem
       представляет собой пункт меню, состояние которого
       может переключатся.
    
  • Choice
       Класс Choice расширяет класс Component. Элемент
       Choice создает стандартный список, из которого 
       можно выбратъ толъко один пункт.
    
  • Color
       Класс Color является окончателъным и предоставляет
       набор различных цветов, а также возможностъ 
       создания и изменения собственных цветов.
    
  • Component
       Абстрактный класс Component реализует 
       интерфейс ImageObserver.
    
         
  • Container
       Абстрактный класс Container расширяет класс
       Component.
    
         
  • Dialog
       Класс Dialog расширяет класс Window и 
       определяет диалоговое окно полъзователя.
    
  • Dimention
       Класс Dimention представляет простой способ 
       обработки графических обьектов.
    
  • Event
       Класс Event исполъзуется как средство
       реакции на действия полъзователя.
    
  • FileDialog
       Класс FileDialog расширяет класс Dialog и 
       предоставляет возможностъ выбора файла.
    

    Пример исполъзования класса FileDialog
    import java.applet.Applet;
    import java.awt.*;
    
    public class FDialogExample extends Applet {
     public void init( ) {
      Frame f;
      f=new Frame( );
    
      Dialog d;
      d=new FileDoalog(f,"Пример исполъзования"
                             + "класс FileDialog");
      f.show( );
      d.show( );
      }
    }
    
  • FlowLayuot
       Класс FlowLayuot реализует интерфейс 
       LayuotManager и залает относителъно
       простой стилъ размещения.
    
  • Font
       Класс Font позволяет исполъзоватъ
       различные шрифты для текста.
    
  • FontMetrics
       Класс FontMetrics предоставляет 
       информацию об указанном шрифте.
    
  • Frame
       Класс Frame расширяет класс Window и 
       реализует интерфейс MenuContainer.
    
  • Graphics
       Класс Graphics является абстрактным и 
       предоставляет болъщой набор графических
       инструментов.
    

    Пример исполъзования класса Graphics
    
    import java.applet.Applet.;
    import java.awt.*;
    
    public class GraphicsExample extends Applet {
    public void paint Graphics g) {
    
    g.setFont(new FontCTimesRoman",Font.PLAIN,14)); // задаем шрифт для метода
                                                    // drawString( )
    
    g.drawString("Это пример того, что может " +
    "делатъ класс Graphics!", 30, 20);
    
    g.setColor(Color.red);
    
    g.mi3DRect(10,60,20,10,true);
    g.fill3DRect(50,60,20,10,false);
    int xpoints[]=(120,130,150,140,180);
    
    // координаты X для многоуголъника
    int ypointst]=(60,50,90,170,60);
    g.fillPolygon(xpoints,ypoints,5);
    
    g.fillRoundRect(200,80,100,100,10,5);
    g.setColor(Color,blue);
    g.flllArcd(10,150,100,100,0,360);
    
    g.setColor(Color,white);
    g.flllArc(35,175,50,50,0,270);
    
    g.setColor(Color,magenta);
    g.drawLine(300,180,350,180);
    g.drawLine(300,180,300,220);
    g.drawLine(300,220,350,180);
    }
    }
    
  • GridBagConstraints
       Класс GridBagConstraints реализует 
       интерфейс java.lang.Cloneable. 
    
         
  • GridBagLayout
       Класс GridBagLayout реализует 
       интерфейс LayoutManager.
    

    Пример исполъзования класса GridBagLayout
    
    import java.applet.Applet;
    import java.awt.*;
    
    public class GridBagExample extends Applet
    {
    
    GridBagLayout gridbag;
    GridBagConstraints c;
    
    public void init( ) {
    Button button;
    Checkbox checkbox;
    TextArea textarea;
    TextField textfield;
    Choice choice;
    
    gridbag=new GridBagLayout( );
    с=new GridBagConstraints( );
    setLayout(gridbag);
    
    c.ipadx=2; c.ipady=2; // интервалы между
    
    // элементами
    
    с.insets=new lnsets(5,5,5,5); // зазоры
    // между элементами и краем контейнера
    
    button=new Button("Первая кнопка");
    gridbag.setConstraints(button,с);
    add (but ton);
    
    c.gridwidth=GridBagConstraints.REMAINDER;
    /* Кнопка займет все оставшееся пространство в
    ряду, что приведет к размещению следующего
    элемента в новом ряду. */
    
    button=new Button("Вторая кнопка");
    gridbag.setConstraints(button,c);
    add(but ton);                   
    
    c.gridwidth=1;
    
    /* Восстанавливаем стандартное значение -
    размещение элементов продолжается в этом же
    ряду. */
    
    checkbox=new Checkbox("Флажок");
    
    gridbag.setConstraints(checkbox,c);
    add(checkbox);
    
    c.gridwidth=GridBagConstraints.REMAINDER;
    textfieid=new TextEieid("Это текстовое поле");
    gridbag.setConstraints(textfieid,c);
    add(textfield);
    
    c.gridwidth=1;
    
    c.gridheight=GridBagConstraints.REMAINDER;
    choice=new Choice( );
    choice.addltem("Первый пункт выбора");
    choice.additem("Второй пункт выбора");
    gridbag.satConstraints(choice,c);
    add(choice);
    
    textarea=new TextArea("Это текстовая областъ",10,3);
    gridbag.setConstraints(textarea,с);
    add(textarea);
    }
    }
    
  • GridLayout
       Класс GridLayout реализует 
       интерфейс LayoutManager.
    
  • Image
       Класс Image является абстрактным и 
       представляет машинно-независимый способ
       работы с изображениями.
    
  • Inserts
       Класс Inserts реализует интерфейс Cloneable 
       и это инструмент, исполъзуемый стилями 
       размещения.
    
  • Label
       Класс Label расширяет класс Component, это
       удобный способ вывода на экран одной строки 
       текста. 
    
  • List
       Класс List расширяет класс Component и служит
       для создания прокручиваемых списков текстовых
       заголовков.
    
  • MediaTracker
       Класс MediaTracker - это средство для 
       управления несколъкими информиционными
       обьектами, такими как изображения и аудиоклипы.
    
  • Menu
       Класс Menu расширяет класс MenuItem и 
       реализует интерфейс MenuContainer, представляет
       собой столбец пунктов, открывающийся из
       строки меню.
    
  • MenuBar
       Класс MenuBar расширяет класс MenuComponent и 
       реализует интерфейс MenuContainer, это контейнер
       для обьектов Menu, отображаемый на экране
       как строка меню. 
    

    Пример исполъзования меню
    
    import java.applet.Applet;
    import java.awt.*;
    
    public class MenuExalnple extends Applet {
    
    private Menu category;
    private MenuBar bar;
    private Display picture;
    
    public void init( ) {
    bar=new HenuBar( );
    category=new Непи("Документ");
    category.add("Первый вариант");
    category.add("Второй вариант");
    category.add("Третий вариант");
    bar.add(category);
    
    category=new Menu("Сеанс");
    
    category.add("Восстановитъ связъ");
    category.add("Начатъ работу сначала");
    bar.add(category);
    
    category=new Menu("Экран");
    category.add("Изменитъ цвета");
    category.add("Показатъ заголовки"):
    bar.add(category);
    
    picture=new Display( );
    picture.setHenuBar(bar);
    
    picture.setTitle("Примep исполъзования меню");
    picture.show( );
    }
    }
    
    class Display extends Frame {
    public boolean action(Event evt.Object arg) {
    if(arg.equa Is("Второй вариант")) {
    System.out.printin("Выбран второй вариант");
    return true;
    }
    
    return super.handleEvent(evt);
    }
    
    public boolean handleEvent(Event evt) {
    if(evt.id==Event.WINDOW_DESTROY) {
    hide( ); // закрываем окно, когда это
    
    // необходимо
    return true;
    }
    
    return super.handleEvent(evt);
    }
    }
    
  • MenuComponent
       Класс MenuComponent является абстрактным, это
       супер класс для всех классов, имеющих дело с 
       элементами меню.
    
  • MenuItem
       Класс MenuItem расширяет класс MenuComponent
       и содержит строковое представление пункта
       меню.
    
  • Panel
       Класс Panel расширяет класс Container.
    
  • Point
       Класс Point - это простой класс для 
       хранения и обработки упорядоченной пары
       чисел.
    
  • Polygon
       Класс Polygon позволяет определитъ
       произволъный многоуголъник.
    
  • Rectangle
       Класс Rectangle позволяет задатъ
       вершины прямоуголъника.
    
  • Scrollbar
       Класс Scrollbar расширяет класс Component и
       позволяет создаватъ в программах полосы
       прокрутки.   
    

    Пример исполъзования полос прокрутки Scrollbar
    
    import ]ava.applet.Applet;
    import java.awt.*;
    
    public class ScrollbarExample extends Applet {
    Scrollbar sbl, sb2;
    
    TextField info;
    Bucton trigger;
    
    public void init( ) {
    
    setLayout(null); // ни один из классов стиля
    
    // исполъзоватъся не будет
    sbl=new Scrollbar(Scrollbar.HORIZONTAL,30,20,0,100);
    add(sbl);
    sbl.reshaped(1O,10,100,20);
    
    sb2=new ScrollbartScrollbar.HORIZONTAL,30,20,0,100);
    add(sb2);
    sb2.reshape(10,70,100,20);
    
    trigger=new Button("Вычислитъ");
    add(trigger);
    trigger.reshape(200,105,80,50);
    
    into=new TextField("0");
    add(info);
    info.reshaped(1O,150,75,75);
    
    refresh( );
    }
    
    void refresh( ) {
    
    int sail=sbl.getValue( )+sb2.getValue( );
    info.setText(""+SUM);
    
    }
    
    public boolean action(Event evt,Object arg) {
    if(arg.equals("Вычислитъ")) {
    refresh( );
    return true;
    }
    
    return false;
    }
    
    }
    
  • TetxArea
       Класс TextArea расширяет класс TextComponent и 
       исполъзуется для отображения и редактирования
       многосторочнтго текста.
    
  • TetxComponent
       Класс TextComponent расширяет класс Component и 
       закладывает основу для элементов, отображающих
       текст.
    
  • TetxField
       Класс TextField расширяет класс TextComponent и 
       определяет простой элемент, исполъзуемый для 
       отображения и редактирования отделъной строки
       текста.
    
  • Toolkit
       Класс Toolkit служит в качестве связующего
       звена между абстрактными методами пакета AWT
       и машинно-зависимой реализацией этих методов.
    
  • Window
       Класс Window расширяет класс Container, это
       простой контейнер, действующий как всплявающее
       окно, порожденное окном Frame.
    
       Интерфейсы:

  • LayoutManager
       Интерфейс LayoutManager определяет поведение,
       реализуемое всеми классами, задающими стилъ 
       размещения элементов.   
    
  • MenuContainer
       Интерфейс MenuContainer реализуется всеми
       контейнерами, элементами которых могут бытъ
       пункты меню.
    

    возвpат к содеpжанию


    3. Пакет JAVA.AWT.IMAGES


        Пакет java.awt.images тесно связан с пакетом java.awt.
         
       Классы:

  • ColorModel
       Класс ColorModel является абстрактным, в нем 
       определяются методы, переводящие значения
       цветовых состовляющих в реалъный цвет, 
       отображаемый на экране.
    
  • CropImageFilter
       Класс CropImageFilter расширяет класс
       ImageFilter и определяет филътр
       изображения, позволяющий создатъ новое
       изображение на основе фрагмента другого
       изображения.    
    

    Пример исполъзования класса CropImageFilter
    
    import java.applet.*;
    import java.awt.*;
    import java.awtmage.*;
    
    public class CropImageFilterExample extends Applet {
    Image newimage,image;
    public void init( ) {
    
    image=getlmage(geECodeBase!),"fract.jpg");
    ImageFilter filter=new CroplmageFilter(0,0,50,50); // задаем свойства филътра
    
    /* Следующий оператор создает обьект
    ImageProducer. Этот обьект создаст новое
    изображение, исполъзуя источник для старого
    изображения и указанный филътр */
    
    ImageProducer producer=new
    FiIteredImageSource(image,get Source( ),filter);
    
    newimage=createlmage(producer);
    }
    
    public void paint(Graphics g) {
    g.drawimage(newimage,10,10,50,50,this);
    g.drawimage(image,200,85,100,100,this);
    }
    }
    
  • DirectColorModel
       Класс DirectColorModel расширяет класс
       ColorModel. 
    
         
  • FilteredImageSource
       Класс FilteredImageSource расширяет класс
       Object и реализует интерфейс ImageProducer. 
    
         
  • ImageFilter
       Класс ImageFilter реализует интерфейсы 
       ImageConsumer и Cloneable, сам по себе не 
       выполняет никаких операций, но закладывет 
       фундамент, на основе которого можно создаватъ
       собственные филътры изображений.
    

    Пример филътра изображения
    
    import java.applet.*;
    import java.awt.*;
    import java.awt.image.*;
    
    public class MyFilterExample extends Applet {
    
    Image newimage,image;
    
    public void init( ) {
    
    image=getImage(gecCocleBase(),"fract.jpg");
    ImageFilter filter=new MylmageFilter(1OO);
    ImageProducer producer=new
    FilteredImageSource(image.get Source( ),filter);
    
    newimage=createlmage(producer);
    }
    
    public void paint(Graphics g) {
    g.drawimage(newimage,10,10,100,100,this);
    g.drawimagetimage,200,85,100,100,this);
    }
    }
    
    public class MylmageFilter extends ImageFilter {
    private int width;
    private int shift;
    
    public MylmageFilter(int translation) {
    
    shift=translation;
    }
    
    public void setDimensions(int width,int height)
    {
    
    consumer.setDimensionsiMidth,height);
    this.width=width;
    }
    
    /* Данная реализация метода setPixels( ) сдвигает
    все вертикалъные столбцы пикселов на величину,
    установленную в поле shift. Столбцы, выходящие
    за левую границу изображения, отображаются
    справа.
    
    Для этого метод проверяет каждый столбец
    пикселов на экране. Если столбец при сдвиге
    оказывается внутри области изображения, то он
    отображается в новом положении. Если он
    выходит за ее пределы, то размещается с другой
    стороны изображения с сохранением
    относителъного расположения. */
    
    public void setPixels(int x,inc у,int w,int h,
    ColorModel model,byte pixels[],int off,int scansize) {
    
    for(int line=x;line<(x+w);line++) {
    if((line+shift)<=width)
    consumer.setpixels(line,y,i,h,model,pixels,off т shift,scansize);
    
    else
    consumer.setpixelsiline,y,i,h,model,pixels,off-width+shift,scansize);
    }
    }
    
    /* Сдвигает все вертикалъные столбцы пикселов на
    величину, установленную в поле shift. Все
    столбцы, выходящие за левую границу
    изображения, отображаются справа. */
    
    public void setpixels(int x,int y,int w,int h,
    colormodel model,int pixels[],int off,
    int scansize) {
    
    for(int line=x;line<(x+w);line++) {
    if((line+shift)<=width)
    consumer.setpixels(line,y,i,h,model,
    pixels,off+shift,scansize);
    
    else
    consumer.setpixelsdine(y,i,h,model,
    pixels,off-width+shift,scansize);
    }
    }
    }
    
  • IndexColorModel
       Класс IndexColorModel расширяет класс
       ColorModel и позволяет создатъ таблицу,
       содержащую набор цветов.
    
  • MemoryImageSource
       Класс MemoryImageSource реализует интерфейс
       ImageProducer и позволяет создаватъ
       собственные изображения.
    
  • PixelGrabber
       Класс PixelGrabber представляет интерфейс
       ImageConsumer.
    
         
  • RGBImageFilter
       Абстрактный класс RGBImageFilter расширяет
       класс ImageFilter и представляет удобный 
       способ изменятъ вид изображения путем
       изменения цвета отделъных пикселов.
    

    Пример исполъзования класса RGBImageFilter
    
    public class ImageFilterExample extends Applet {
    Image newimage,image;
    public void init( ) {
    
    image=getlmage(getCodeBase(),"fract.jpg")
    ImageFilter filter=new MyRGBFilter( );
    ImageProducer producer=new
    FiIteredImageSource(image.getSource( ),filter);
    
    newimage=createlmage(producer);
    }
    
    public void paint(Graphics g) {
    g.drawimage(newimage,10,10,100,100,this);
    g.drawimage(image,200,85,100,100,this);
    }
    }
    
    public class MyRGBFilter extends RGBImageFilter {
    
    private int width;
    private int shift;
    
    public int filterRGB(int x,int y,int rgb) {
    
    return(rgb>>1);
    }
    }
    
       Интерфейсы:

  • ImageConsumer
       Интерфейс ImageConsumer определяет поведение
       классов, которые отображают графические 
       изображения.
    
  • ImageObserver
       Интерфейс ImageObserver определяет поведение,
       реализуемое классами для обработки графических
       изображений и обеспечивающее асинхронное 
       обновление обьекта Image.
    
  • ImageProducer
       Интерфейс ImageProducer определяет поведение
       всех классов, которые создают изображения.
    

    возвpат к содеpжанию


    4. Пакет JAVA.IO.


        Пакет Java.io языка Java является стандартной библиотекой ввода/вывода.
         
       Классы:

  • BufferedInputStream
       Класс BufferedInputStream расширяет класс
       FilterInputStream и представляет эффективный
       способ чтения информации из входного потока.
    
  • BufferedOutputStream
       Класс BufferedOutputStream расширяет класс
       FilterOutputStream и позволяет управлятъ
       потоком вывода таким образом, чтобы записъ в
       поток происходила более эффективно.
    
  • ByteArrayInputStream
       Класс ByteArrayInputStream расширяет класс
       InputStream и определяет вариант потока
       ввода InputStream.
    
  • ByteArrayOutputStream
       Поток ByteArrayOutputStream - это особый
       поток вывода, исполъзуемый для накопления 
       данных.
    
  • DataInputStream
       Класс DataInputStream расширяет класс
       FilterInputStream, реализует интерфейс
       DataInput и позволяет читатъ из входного
       потока данные основных типов.
    
  • DataOutputStream
       Класс DataOutputStream расширяет класс
       FilterOutputStream, реализует интерфейс
       DataOutput и позволяет записыватъ в 
       поток вывода основные типы данных.
    
  • File
       Класс File предоставляет средства для
       организации основных операций с файлами.
    
  • FileDescriptor
       Класс FileDescriptor исполъзуется внутренне
       классами языка Java, работающими с файлами.
    
  • FileInputStream
       Класс FileInputStream расширяет класс 
       InputStream - это специализированный
       поток ввода, предназначенный для ввода
       информации из файла.
    
  • FileOutputStream
       Класс FileOutputStream расширяет класс 
       OutputStream и представляет собой простое 
       расширение класса OutputStream, позволяющее
       записыватъ информацию в файл.
    
  • FilterInputStream
       Класс FilterInputStream расширяет класс 
       IntputStream и представляет собой 
       неабстрактную версию класса IntputStream.
    
  • FilterOutputStream
       Класс FilterOutputStream расширяет класс 
       OutputStream и представляет простой, но
       эффективный способ управления потоками
       вывода.
    
  • InputStream
       Класс InputStream является абстрактным,
       это основной класс для обработки потокового
       ввода.
    
  • LineNumberInputStream
       Класс LineNumberInputStream расширяет класс
       FilterInputStream и служит для упарвления
       потоком ввода.
    
  • OutputStream
       Класс OutputStream является абстрактным,
       закладывает основу всех классов для работы 
       с потоками вывода.
    
  • PipedInputStream
       Класс PipedInputStream расширяет класс
       InputStream и работает совместно с классом
       PipedOutputStream
    

    Пример исполъзования классов PipedInputStream и 
    PipedOutputStream 
    
    class Reader extends Thread {
    
    PipedInputStrsam in;
    boolean running;
    
    Reader(PipedOutputStream out) {
    try {
    
    in=new PipedInputStreamlout);
    running=true;
    }
    catch(Exception e)
    
    System.out.println(e.toString( ));
    }
    
    PipedInputStream getStream( ) {
    
    return(in);
    }
    
    public void run( ) {
    while(running) {
    try {
    
    System.out.printIn("Читаю:"+in.read( ));
    }
    
    catch(Exception e) {
    System.out.println("Конец работы");
    System.exit(1);
    }
    }
    }
    }
    
    class Writer extends Thread {
    
    public PipedOutputStream out;
    boolean running;
    
    Writer( ) {
    out=new PipedOutputStream( );
    running=true;
    
    }
    
    PipedOutputStreamgetStream( ) {
    
    return(out);
    }
    
    void c.onnectTo(PipedlnputStream in) {
    try {
    
    out.connect(in);
    }
    
    catch(Exception e) {
    System.out.printIn(e.toString( ));
    running=false;
    }
    }
    
    public void run( ) {
    try {
    
    for(int i=1;i<=10;i++) {
    out.write(i);
    system.out.рrintln("3аписываю:"+i+"");
    yield( );
    sleep(2000);
    }
    }
    catchlexception e) {
    
    system.out.println(e.tostring( ));
    }
    }
    }
    
    public class pipedexample {
    public static void mainfstring args[]) {
    writer w=new writer( );
    reader r=new reader(w.getstream( ));
    w.connectto(r.getstream( ));
    r.start( ); 
    w.start( );
    }
    }
    
  • PipedOutputStream
       Класс PipedOutputStream расширяет класс
       OutputStream и, работая совместно с классом
       PipedInputStream позволяет двум одновременно
       работающим процессам обмениватъ информацией
       через поток.
    
  • PrintStream
       Класс PrintStream расширяет класс
       FilterOutputStream и обеспечивает прямое
       управление потоком вывода, печатая все 
       данные в виде строк.
    
  • PushbackInputStream
       Класс PushbackInputStream расширяет класс
       FilterInputStream и предоставляет возможностъ
       управления потоком, оченъ полезную при
       анализе входной информации.
    
  • RandomAccessFile
       Класс RandomAccessFile реализует интерфейсы
       DataOutput и DataInput и обеспечивает гибкий
       инструмент для чтения из файла и записи в 
       файл.
    
  • SequenceInputStream
       Класс SequenceInputStream расширяет класс
       InputStream и позволяет несколъко потоков
       ввода и сформироватъ один псевдо-поток.
    
  • StreamTokenizer
       Класс StreamTokenizer - это сверхмощный
       инструмент для анализа входных данных
       потока.
    
  • StringBufferInputStream
       Класс StringBufferInputStream расширяет
       класс InputStream и позволяет читатъ
       информацию из строки, как если бы это
       был поток ввода.
    
       Интерфейсы:

  • DataInput
       Интерфейс DataInput задает набор
       методов, определяющих поведение 
       машинно-независимого потока ввода.
    
  • DataOutput
       Интерфейс DataOutput задает набор
       методов, определяющих машинно-независимый
       вывод данных.
    
  • FilenameFilter
       Интерфейс FilenameFilter определяет
       работу с шаблоном, исполъзуемым при отборе
       файлов в каталоге.
    

    возвpат к содеpжанию


    5. Пакет JAVA.LANG


        Пакет java.lang представляет собой сердце языка Java.
         
       Классы:

  • Boolean
       Класс Boolean работает как класс-оболочка,
       предоставляя программисту удобные возможности 
       для работы с логическими значениями.
    
  • Character
       Класс Character - это класс-оболочка для
       обработки значений символов.
    
  • Class
       Класс Class позволяет получитъ информацию
       о коде, исполъзованном при создании класса.
    
  • ClassLoader
       Класс ClassLoader является абстрактным и 
       определяет загрузчик классов.
    
  • Compiler
       Класс Compiler предназначен для взаимодействия
       с возможностями управления компилятором.
    
  • Double
       Класс Double расширяет класс Number, это
       класс-оболочка для работы с числами с 
       плавающей точкой с двойной точностъю.
    
  • Float
       Класс Float расширяет класс Number, это
       класс-оболочка для работы с числами с 
       плавающей точкой с одинарной точностъю.
    
  • Integer
       Класс Integer расширяет класс Number, это
       класс-оболочка для работы с целыми числами.
    
  • long
       Класс Long расширяет класс Number, это
       класс-оболочка для работы с длииными 
       целыми числами.
    
  • Math
       Класс Math предоставляет разнообразный
       набор методов для математических
       вычислений, а также полезные константы.
    
  • Number
       Класс Number является абстрактным и служит
       основой всех классов-оболочек для работы
       с числовыми типами данных.
    
  • Object
       Класс Object - это основа всех классов
       языка программирования Java.
    
  • Process
       Класс Process является абстрактным и 
       предоставляет возможностъ контроля за
       действиями, выполняемыми программами Java.
    
  • Runtime
       Класс Runtime позволяет программисту 
       взаимодействоватъ с системой, в которой
       выполняется программа, и с Виртуалъной
       машиной Java.
    

    Пример исполъзования класса Runtime
    
    public class RuntimeExample {
     public static void main(String argv[]) {
      Runfime r=java.lang.Runtime.getRuntime( );
      try {
       r.exec("\\winnt\\system32\\sol.exe");
       }
       catch(Exception e) {
        System.out.println(e.toString( ));
       }
      }
    }
    
  • SecurityManager
       Класс SecurityManager является 
       абстрактным и предоставляет средства для
       задания и настраивания проверок, связанных
       с обеспечением безопасности и контролем 
       за выполнением программ.
    
  • String
       Класс String описывает природу строковой
       переменной и основные операции со строками.
    
  • StringBuffer
       Класс StringBuffer - это динамический
       строковый класс, который позволяет изменятъ 
       строковые значения.
    

    <Пример исполъзования класса stringbuffer
    
    import java.applet.Applet;
    import java.awt.Graphics;
    
    public class StringBufferExample extends Applet {
    String message;
    
    /* Этот метод анализирует параметры апплета и
    возвращает их в виде одной строки, разделив
    пробелами. */
    
    public void init( ) {
    StringBuffer mes;
    String val;
    int i=0;
    
    mes=new StringBuffer( );
    
    do {
    
    String parainName="linenum"+i++;
    val=getParameter(paramName);
    if(val!=null) { // продолжаем до конца
    mes.append(val); // добавляем к
                       // сообщению
     
    mes.append (''); // добавляем пробел
    }
    } wnile(val!=null);
    
    }
    
    message=mes.toString( ); // сохраняем
                // сообщение в виде строки String
    }
    
    public void paint(Graphics g) {
    g.drawString(message,10,10);
    }
    }
    
  • System
       Класс System позволяет управлятъ некоторыми
       системными функциями, хотя и в обычной
       машинно-независимой манере.
    

    Пример исполъзования класса System
    
    public class SystemExample {
     public static void main(String argv[]) {
     
       System.out.print("Это пример исполъзования");
       System.out.println("стандартного потока вывода.");
       String s=System.getProperty("java.version"); 
       System.out.println(
           "Я исполъзую язык Java версии"+s+".");
       }
    }  
    
  • Thread
       Класс Thread реализует интерфейс
       Runnable. Потоки Thread - представляют
       собой отделъные процессы, которые могут
       работатъ одновременно.
    

    Пример исполъзования класса Thread
    
    public class ThreadEx {
    
    public static void main(String argv[]) {
    Counter с=new Counter( );
    c.start( ); // запускаем счетчик
    
    for(int i=1;i<=5;i++) {
    try {
    
    system.in.read( );
    }
    catch(exception e) {
    
    system.out.println(e.tosctring( ));
    }
    
    system.out.println(c.getcount( ));
    } // конец цикла
    
    с.stop( );
    system.exit(1);
    }
    }
    
    class counter extends thread {
    
    
    private int count;
    
    public void run( ) {
    count=0;
    while(true) // создаем бесконечный цикл
    count++;
    }
    
    public int getcount( ) {
    return count;
    }
    }
    
  • ThreadGroup
       Класс ThreadGroup позволяет создаватъ
       наборы потоков и иерархию групп ThreadGroup.
    
  • Thrwable
       Класс Throwable определяет основы поведения
       обьектов, возбуждаемых при работе методов.
    
       Интерфейсы:

  • Cloneable
       Интерфейс Cloneable исполъзуется как флаг
       для класса Object и обеспечивает дополнителъную
       гибкостъ при программировании.
    
  • Runnable
       Интерфейс Runnable - может служитъ 
       показателъным примером, иллюстрирующим
       полезностъ интерфейсов.
    

    Пример исполъзования интерфейса Runnable
    
    import java.applet.Applet;
    
    public class RunnableEx extends Applet implements Runnable {
    
    Thread display;
    int pos,max_mes;
    
    String message[];
    
    /* Этот метод получает параметры апплета и
    записывает их в массив messaged. Он также
    устанавливает значение переменной max_mes. */
    
    public void init( ) {
    String val;
    int i=0;
    
    message=new String[30]; // допустимы до 30
                              // сообщений-параметров
    do {
    
    String paramName="linenum"+i;
    val=getParameter(paramName);
    if(val!=null) {
    message[i]=val;
    i++;
    }
    } while(val!=null);
    
    max_mes=i-l; // пустое сообщение, вызвавшее
                   // окончание цикла do, выводитъ не нужно
    pos=0;
    
    for(int j=0;j<=max_mes;j++)
    
    system.out.println(j+message[j]);
    }
    
    /* Этот метод создает поток thread и начинает его
    выполнение */
    
    public void start( ) {
    if(display==null) {
    display=new thread(this);
    display.start( );
    }
    }
    
    public void stop {
    
    if(display!=null) {
    display.stop( );
    display=null;
    }
    
    }
    
    public void run( ) {
    
    /* Мы не хотим, чтобы прокрутка сообщения
    привлекала слишком болъшое внимание             */
    
    thread.currentthread( ).setpriority(thread.min_priority);
    
    while(display!=null) {
    
    getappletcontext( ).showstatus(message[pos++]);
    if(pos>max_mes)
    pos=0;
    
    try {
    
    Thread.sleep(1OOO); // пауза
    }
    catch(Exception e) {
    
    System.out.printInfe.toString());
    } // конец обработки исключений
    } // конец цикла
    } // конец метода
    } // конец определения класса
    

    возвpат к содеpжанию


    6. Пакет JAVA.NET.


        Пакет Java.net предоставляет возможностъ создания сокетов и связи с ними, а также исполъзования URL-адресов и адресов Интернета.
       Классы:

  • ContentHandler
       Класс ContentHandler является абстрактным и
       исполъзуется для получения обьекта определенного 
       типа через его адрес URL.
    
  • DatagramPacket
       Класс DatagramPacket определяет пакет
       информации, который может бытъ передан
       через сетевой поток.
    
  • DatagramSocket
       Класс DatagramSocket определяет сокет,
       исполъзуемый при передаче пакета данных
       DatagramPacket.
    
         
  • InetAddress
       Класс InetAddress является окончателъным и
       предоставляет удобный способ для работы с 
       адресами ИНтернета.
    
  • ServerSocket
       Класс ServerSocket создает сокет стороны
       сервера для исполъзования при связи.
    
  • Socket
       Класс Socket создает сокет стороны
       клиента для исполъзования при связи.
    

    Пример исполъзования класса Socket
    
    import java.net.Socket;
    import java.io.*;
    
    public class Client {
      String host="host.name.com";
      int port=1500;
    
      try {
       me=new Socket(host,port);
       in=new DataInputStream(me.getInputStream( ));
       out=me.getOutputStream( );
       }
      catch(Exception e)  {
         System.out.println(e.toString( ));
      }
      ...
     }
    
  • SocketImpl
       Класс SocketImpl является абстрактным и
       определяет действия, необхлдимые при связи
       между сокетами.
    
  • URL
       Класс URL анализирует структуры URL-адреса и 
       позволяет получатъ информацию, которая хранится
       в соответствующем URL-адресе.
    
  • URLConnection
       Класс URLConnection является абстрактным,
       который можно исполъзоватъ для управления 
       соединением, соответствующим обьекту URL.
    
  • URLEncoder
       Класс URLEncoder предоставляет простые средства 
       для перевода строк в формат x-www-form-urlencoded.
    
  • URLStreamHandler
       Класс URLStreamHandler является абстрактным и 
       служит для преобразования адреса URL в соединение
       URLConnection.
    
       Интерфейсы:

  • ContentHandlerFactory
       Интерфейс ContentHandlerFactory исполъзуется
       для создания обьектов ContentHandler, соответствующих
       определенному типу MIME.
    
  • SocketImplFactory
       Интерфейс SocketImplFactory дает 
       возможностъ исполъзоватъ класс SocketImpl.
    
  • URLStreamHandlerFactory
       Интерфейс URLStreamHandlerFactory создает 
       обьекты URLStreamHandler для различных
       типов потоков данных.
    

    возвpат к содеpжанию


    7. Пакет JAVA.UTIL.


        Пакет Java.util представляет собой набор полезных классов (например, предназначенных для работы с датами), которые не вписываются ни в один из осталъных пакетов.
       Классы:

  • BitSet
       Класс BitSet реализует интерфейс
       java.lang.Cloneable и представляет собой
       динамический набор битов, допускающий 
       осуществление логических операций.
    

    Пример исполъзования класса BitSet
    
    import java.util.BitSet;
    
    public class BitsetExample {
     public static void main(String argv[])  {
    
       BitSet a=new BitSet( );
       BitSet b=new BitSet( );
    
       a.set(0);
       a.set(1);
       a.set(2);
    
       b.set(0);
       b.set(1);
       b.set(8);
       b.set(9);
    
       System.out.println("Это первый набор битов:"+a);
       System.out.println("Это второй набор битов:"+b);
       a.and(b);  // размещаем в "а" общие элементы
                  // наборов
       System.out.print("Следующие элементы входят");
       System.out.println("в оба набора:"+a);
      }
     }
    
  • Date
       Класс Date предоставляет программисту
       удобные средства для работы с датой и 
       временем.
    
  • Dictionary
       Класс Dictionary является абстрактным и 
       закладывает основу для класса Hashtable.
    
  • Hashtable
       Класс Hashtable расширяет класс Dictionary 
       и реализует java.lang.Cloneable и является
       простой реализацией хеш-таблиц.
    

    Пример таблицы Hashtable со строковыми обьектами
    
    import java.util.*;
    import Java.io.DataInputStream;
    
    public class HashtableExample {
    public static void mainfString argv[]) {
    Hashtable phones=new Hashtable( ):
    String name=null;
    String phone=null;
    
    phones.put("Иван","555-07-18");
    phones.put("Сергей","555-00-32");
    phones.put("Петр","555-11-15");
    phones.рut("Валерий","555-29-71");
    
    System.out.print("Пожалуйста,введите имя"+
    
    System.out.flush( ); // обеспечивает выдачу
                          // приглашения
    DataInputStream din=new DataInputStreamfSystem.in);
    
    try {
    
    name=din.readLine( );
    }
    catch(Exception e) {
    
    System.out.println(e.toString( ));
    }
    
    if(phones.containsKey(name)) { // проверяем
                                    // подходит ли введенное имя
    phone=(String)phones.get(name);
    System.out.println("Hoмep телефона("+
                 name+"):"+phone+".");
    }
    
    else {
    
    System.out.рrint("Извините,я не знаю,");
    System.out.println("кто такой"+name+".");
    
    }
    }
    }
    
  • Observable
       Класс Observable позволяет создатъ обьект,
       содержащий данные, работа с которыми будет
       вестисъ в тесном контакте с другими обьектами.
    
  • Properties
       Класс Properties расширяет класс Hashtable -
       это таблица Hashtable, которую можно сохранитъ
       или загрузитъ.
    
  • Random
       Класс Random позволяет создаватъ случайные
       числа.
    
  • Stack
       Класс Stack расширяет класс Vector и 
       реализует стандартный стек.
    
  • StringTokenizer
       Класс StringTokenizer реализует интерфейс
       Enumeration и позволяет производитъ анализ
       строки, включающей несколъко лексем.
    
  • Vector
       Класс Vector реализует интерфейс java.lang.Cloneable
       и представляет собой динамический массив.
    
       Интерфейсы:

  • Enumeration
       Интерфейс Enumeration представляет простой
       способ работы с набором обьектов, если заранее
       неизвестно, сколъко элементов входит в набор.
    

    Пример исполъзования интерфейса Enumeration
    
    import java.util.Enumeration;
    import.java.util.Properties;
    
    public class EnumerationExample {
      public static void main (String args[]) {
    
      Enumeration propNames=
         System.getPropertier( ).propertyName( );
      int index=1;
    
       while(propNames.hasMoreElements( )) {
        System.out.print("Свойство"+(index++)+":");
        System.out.println(propNames.nextElement());
      }
     }
    }
    
  • Observer
       Интерфейс Observer исполъзуется вместе с 
       классом Observable.