« poprzedni punkt  następny punkt »

3. Aplikacje powitalne

W tym podpunkcie przedstawione zostaną dwa programy "powitalne". Zawierają one elementy, które szczegółowo będą omaiwane dopiero w drugim semestrze. Proszę się więc nie zrażać, jeśli coś w opsie tych programów będzie niezrozumiałe.
Warto na nie jednak spojrzeć, choćby po to, by  przekonać się, że programując w Javie posługujemy się obiektami (mamy więc dodatkową ilisutrację poprzednich treści).
Jest to również zachęta do nauki. Zobaczymy tu bowiem, że w Javie bardzo łatwo tworzy się  znane, lubiane, codziennie "używane"  elementy tzw. graficznego interfejsu użytkownika - czyli sposobu komunikowania się z programami za pomocą okienek, przycisków, itp.

Program w Javie jest zawsze zestawem klas. Wyróżniamy: aplikacje (wykonywane przez JVM zainstalowaną na naszym komputerze) oraz aplety (wykonywane przez środowisko przeglądarki).

Działanie aplikacji zaczyna się od metody:

public static void main(String[ ] args)

umieszczonej w jednej z klas pliku źródłowego.

Aplikacja AWT

import java.awt.*;

class Napis1 {
  public static void main(String[] arg) {
    Frame frame = new Frame("Test 1");
    Label label = new Label("Witaj Javo!");
    Font font = new Font("TimesRoman", Font.BOLD, 24);
    label.setFont(font);
    label.setBackground(Color.red);
    label.setForeground(Color.yellow);
    frame.add(label);
    frame.pack();
    frame.show();
  }
}

Java1 Korzystamy tu z obiektów klas Frame (okno tamowe - czyli z paskiem tytułu, ikonkami systemowymi itp.), Label (etykieta), Font (pismo) i niejawnie - Color i String.


Obiekty tworzy się za pomocą wyrażenia new ... , np.:

Frame frame = new Frame("Test1");
tworzy obiekt typu Frame - okno z tytułem "Test1", zmienna frame oznacza ten obiekt.

Tak samo tworzymy etykietę label z podanym napisem. Napisy - tu literały łańcuchowe - są w Javie obiektami klasy String.

Dla etykiety Label ustalamy pismo (metoda setFont z argumementem typu Font) i  kolory (za pomocą metod, komunikatów: setForeground i setBackground z argumentem typu Color, który tu jest oznaczany przez odpowiednie stałe z klasy Color o samoobjaśniających sie nazwach).

Wreszcie, mówimy naszemu oknu frame: dodaj do siebie etytkietę oznaczaną przez label (frame.add(label)), "spakuj się" - frame.pack() (tzn. zajmij tyle miejsca ile wymaga uwidocznienie etykiety) i pokaż się - frame.show().

Aplikacja Swing

W podobny sposób oprogramujemy aplikację korzystająca z możliwości Swingu.

Java2
Różnice polegają na tym, że okno jest typu JFrame (wobec czego dodanie etykiety do okna wymaga użycia metody getContentPane()), a etykieta jest typu JLabel (i umożliwia wyświetlanie tekstu HTML). Poza tym jawnie użyjemy klasy String i operatora +, który zastowany wobec łańcuchów znakowych oznacza ich konkatenację.



import javax.swing.*;

class SwingLab {

 public static void main(String[] args) {
   JFrame frame = new JFrame("SwingLabel with HTML");
   String htmlText = "<html><FONT SIZE=+3>" +
                     "Witaj <i>imiła </i><font color=blue>Javo!<br>" +
                     "... A witaj!</font><font></html>";

   JLabel label = new JLabel(htmlText);
   frame.getContentPane().add(label);
   frame.pack();
   frame.show();
 }
}

Pracę z komponentami AWT i Swingu poznamy dokładnie w trakcie wykładów w drugim semestrze.

Uwaga1.  Aby zakończyć działanie w/w programów należy przerwać proces (Ctrl-c lub jakiś odpowiednik Stop w środowisku uruchomieniowym - IDE).

Uwaga2. znaczenie dyrektywy import - poznamy w następnym wykładzie.

A teraz pora zaczynać od podstaw. Zanim jednak  zaczniemy - zainstalujmy środowisko Javy i spróbujmy uruchomić w nim oba przedstawione wyżej programiki oraz  napisać najpierwszy, najprostszy, ale własny program.


« poprzedni punkt  następny punkt »