O balíčcích v jazyce Java jsme již mluvili v předešlých dílech – jedná se o souvisejících skupinu tříd. Balíčky si můžeme vytvářet vlastní, Java však sama o sobě obsahuje množství „standardních“ balíčků. S rostoucí verzí se tento počet stále zvětšuje. Zatímco první verze Javy se skládala z pouhých 8 balíčků, aktuální verze 1.4 jich obsahuje 135. Zde si uvedeme přehled a popis těch nejdůležitějších z nich.

JDK 1.0 obsahovala těchto 8 balíčků: java.applet, java.awt, java.awt.image, java.awt.peer, java.io, java.lang, java.net a java.util. Verze JDK 1.1, kterou podporuje většina internetových prohlížečů, již obsahuje 22 balíčků. K původním přibyly například balíčky java.sql, java.math, java.awt.event nebo java.util.zip.

S balíčky java.awt, java.util a java.lang jsme se již setkali v příkladech z minulých článků. Následující tabulky by vám měly přinést komplexnější seznam nejdůležitějších balíčků s popisem a příkladem jejich jednotlivých tříd, rozhraní a výjimek.

JDK 1.0

Balíček Popis
java.applet Obsahuje třídy pro vytvoření appletů a pro komunikaci appletů se svým okolím. Jediná třída je Applet.
java.awt Balíček pro definici uživatelského prostředí nezávislého na platformě (Abstract Window Toolkit).
Třídy: Button (tlačítko), List (seznam), Font, Menu, Dialog, Point a interface LayoutManager…
AWT bude věnován jeden z následujících článků.
java.awt.image Obsahuje třídy pro práci s obrázky.
Třídy: BufferedImage, ColorModel, ImageProducer, ImageConsumer, ImageFilter…
java.awt.peer V balíčku jsou prvky uživatelského prostředí AWT pro konkrétní platformu (Windows, Solaris…).
S touto třídou programátor běžně nepracuje!
java.io Poskytuje třídy pro práci se vstupy a výstupy pomocí datových proudů a umožňuje práci se soubory.
Třídy: File (soubor), InputStream (vstupní proud), OutputStream (výstupní proud), DataInputStream (vstupní proud pro čtení standardních typů), DataOutputStream (výstupní proud pro čtení standardních typů).
Nejdůležitější výjimky tohoto balíčku jsou: EOFException, IOException, FileNotFoundException.
Vstupům a výstupům bude věnován jeden z následujících článků.
java.lang Toto je základní balíček jazyka Java, který obsahuje stěžejní třídy. V programech ho není třeba importovat, je jako jediný balíček importován automaticky.
Nejdůležitější třídy: Object, System, Thread, Throwable, Math, dále třídy pro datové typy Number, Integer, Short, Byte, Boolean, Character, Float, String…
Rozhraní: např. Cloneable, Runnable
Výjimky: Exception, NullPointerException, ArrayIndexOutOfBoundsException, ClassNotFoundException, NumberFormatException, RuntimeException…
java.net Obsahuje třídy umožňující komunikaci po Internetu (stažení dokumentu apod.).
Třídy: URL, Socket, InetAddress, URLConnection, HttpURLConnection, URLEncoder…
Výjimky: ConnectException, MalformedURLException, ProtocolException, SocketException…
java.util Rozmanitý soubor utilit a datových struktur, obsahuje mimo jiné třídy pro reprezentaci data a času, generátor náhodných čísel a základní třídu pro událost.
Třídy: Vector (rozšiřitelné pole), Random (generátor náhodných čísel), Date (implementuje časový okamžik), TimeZone (práce s časovými zónami), BitSet (rozšiřitelné bitové pole), EventObject (základní třída, od které všechny události dědí), Hashtable (hašovací tabulka)…

JDK 1.1

Následující tabulka popisuje některé z balíčků, které existují od verze JDJ 1.1.:

Balíček Popis
java.awt.event Obsahuje mechanismy pro vyvolání a zpracování událostí.
Třídy: ActionEvent, FocusEvent, ItemEvent, MouseAdapter, MouseEvent, WindowEvent …
Rozhraní: ActionListener, FocusListener, ItemListener, KeyListener, MouseListener …
java.beans Slouží pro vývoj uživatelských komponent JavaBeans.
java.rmi Slouží pro vytváření distribuovaných aplikací pomocí technologie RMI (Remote Method Invocation).
java.sql Poskytuje třídy pro práci s (relačními) databázovými servery pomocí technologie JDBC (Java Database Connectivity).
java.util.zip Poskytuje třídy pro čtení a zápis souborů formátu ZIP a GZIP.
Třídy: ZipFile, ZipEntry, ZipInputStream, ZipOutputStream

JDK 1.2, 1.3, 1.4

Jak bylo řečeno v úvodu, množství balíčků v současných verzích je velmi značné. Při běžném programování samozřejmě většinu těchto balíčků nevyužijeme. Proto o dalších už jen velmi stručně. V novějších verzích přibyly například:

  • balíčky pro Swing – modifikovatelné uživatelské prostředí kvalitnější a uživatelsky příjemnější než AWT
  • balíčky pro podporu technologie Drag and Drop
  • balíček pro rychlé 2D geometrické operace
  • balíčky pro práci se šiframi a balíčky implementující kryptografické algoritmy
  • balíčky pro distribuované programování pomocí technologie CORBA
  • balíčky pro práci se zvukem
  • balíčky pro parsing XML dokumentů (SAX i DOM parsery)
  • balíčky pro práci s regulárními výrazy

O růstu jazyka Java svědčí i počet tříd v jednotlivých verzích. Zatímco JDK 1.0 obsahovala 211 tříd a rozhraní a verze JDK 1.1 pak 477 tříd a rozhraní, současná JDK 1.4 jich obsahuje již 2723.

Po dnešním teoretickém intermezzu se příště pro změnu budeme bavit ryze prakticky o tvorbě uživatelského rozhraní.

Žádný příspěvek v diskuzi

Odpovědět