Latest web development tutorials

Aplet Java Foundation

Aplet Java Foundation

Aplet to program Java. Zazwyczaj działa w przeglądarce internetowej z obsługą Javy. Ponieważ ma pełne wsparcie dla Java API, więc aplet jest w pełni funkcjonalny aplikacji Java.

Poniżej jest istotna różnica między aplikacjami Java i aplet autonomicznych:

  • klasa apletu Java dziedziczy java.applet.Applet klasy
  • Klasa aplet nie definiuje main (), więc program nie wywołać metodę aplet main (),
  • Programy te są przeznaczone do osadzenia w strony HTML.
  • Gdy użytkownik przegląda stronę HTML zawierającą aplet, kod apletu zostanie pobrany na komputer użytkownika.
  • Aby wyświetlić aplet potrzebuje JVM. JVM może być przeglądarka internetowa plug-in, lub oddzielny środowisko uruchomieniowe.
  • Maszyna użytkownik JVM do tworzenia instancji klasy apletu i wzywa aplet cykl życia różnych metod.
  • Aplety mają surowe zasady bezpieczeństwa przeglądarki internetowej aplet zabezpieczenia wykonalny nazywa bezpieczeństwa piaskownicy.
  • Formularz aplet potrzebne inne klasy można użyć pliku Java Archive (JAR) zostanie pobrany.

Cykl życia apletu

klasy Applet dostarcza cztery metody daje ramy, możesz być w sprawie ram dla rozwoju małego programu:

  • startowych: Celem tej metody jest dostarczenie wszelkich potrzebnych do inicjalizacji apletu. Metoda ta nazywana jest po tagach aplet znaczników param jest przetwarzane.
  • start: przeglądarka wywołuje metodę startowych, które nazywa się automatycznie. Gdy użytkownik powraca do strony z innych stron zawierających aplet, a następnie wywołać metodę.
  • stop: Gdy użytkownik zostanie usunięty ze strony zawierającej aplet, metoda nazywa się automatycznie. Dlatego metoda ta może być wielokrotnie wywołać w taki sam aplet.
  • zniszczyć: Metoda ta jest wywoływana tylko wtedy, gdy przeglądarka jest poprawnie zamknięty. Ponieważ aplety po obowiązują tylko na stronie HTML, więc nie powinno być w instrukcji opuszcza stronę zawierającą aplet przegap żadnych zasobów.
  • Farba: Metoda ta jest wywoływana natychmiast po metody start () lub aplet musi być odnawiany, kiedy nazywa przeglądarki. Metoda paint () faktycznie odziedziczone java.awt.

"Hello, World" Aplet:

Oto prosty program Aplet HelloWorldApplet.java:

import java.applet.*;
import java.awt.*;
 
public class HelloWorldApplet extends Applet
{
   public void paint (Graphics g)
   {
      g.drawString ("Hello World", 25, 50);
   }
}

Stwierdzenia te importować następujące klasy do naszej klasy apletu:

java.applet.Applet.
java.awt.Graphics.

Bez tych stwierdzeń importowych, kompilator Javy nie rozpozna klasy apletu i grafiki.


klasy applet

Każda podklasa aplet klas apletu są java.applet.Applet klasa bazowa dostarcza sposobu pochodnych połączeń klasy, w celu uzyskania informacji i usług kontekst przeglądarki.

Metody te należy wykonać następujące czynności:

  • Pobierz parametry apletu
  • Uzyskaj lokalizacji sieciowej, która zawiera plik HTML apletu
  • Uzyskaj sieciową lokalizację katalogu klasy apletu
  • Informacja o stanie przeglądarki druku
  • Pobierz zdjęcie
  • Pobiera plik dźwiękowy
  • Odtwórz plik dźwiękowy
  • Zmiana rozmiaru apletu

Ponadto, klasa Applet dostarcza również interfejs dla apletem lub przeglądarki, aby uzyskać informacje i kontrolować wykonanie apletu.

Przeglądarka może być:

  • Zapytanie autor aplet, wersji i informacje o prawach autorskich
  • Opis Zapytanie identyfikacja parametrów aplet
  • Inicjowanie aplet
  • zniszczenie aplet
  • Rozpocznij aplet
  • Wykonanie Koniec aplet

Klasa aplet zapewnia domyślna implementacja tych metod, metody te mogą być pominięte, gdy są potrzebne.

"Hello, World" aplet przygotowywane są zgodnie z normą. Jedynym sposobem, aby być przesłonięta metoda malowania.


wywołanie apletu

Aplet to program Java. Zazwyczaj działa w przeglądarce internetowej z obsługą Javy. Ponieważ ma pełne wsparcie dla Java API, więc aplet jest w pełni funkcjonalny aplikacji Java.

<Applet> tag aplet jest oparta osadzone w pliku HTML. Poniżej znajduje się wezwanie do "Hello World" aplet przykładem;

<html>
<title>The Hello, World Applet</title>
<hr>
<applet code="HelloWorldApplet.class" width="320" height="120">
If your browser was Java-enabled, a "Hello, World"
message would appear here.
</applet>
<hr>
</html>

Uwaga: Można odwołać się do tagu HTML Applet aby dowiedzieć się więcej na temat apletu wywołania metody z HTML.

Właściwości <applet> tag określa klasę Applet do uruchomienia. Szerokość i wysokość służy do określenia rozmiaru początkowego apletu uruchomić panel. Aplet musi używać </ applet> tag, aby zamknąć.

Jeśli aplet akceptuje parametry, to wartość parametru wymagane Dodawanie znaczników, znacznik znajduje się w <applet> i </ applet> pomiędzy. Przeglądarki zignorować tekst i inne znaczniki etykiety apletu.

Przeglądarka nie obsługuje Java nie może wykonać <applet> i </ applet>. Dlatego między etykietą i relacji wyświetlacza aplet i nic, bez wsparcia przeglądarki Java jest on widoczny.

Viewer lub przeglądarki, aby znaleźć miejsce w dokumencie skompilowany kod Java, aby określić ścieżkę dokumentu, trzeba użyć <applet> Atrybut codebase określa znacznik.

W następujący sposób:

<applet codebase="http://amrood.com/applets"
code="HelloWorldApplet.class" width="320" height="120">

Jeśli aplet, gdzie pakiet zamiast domyślnego pakietu, pakiet musi zostać określony w kodzie, w którym nieruchomość, gdzie, na przykład:

<applet code="mypackage.subpackage.TestApplet.class"
           width="320" height="120">

Uzyskaj parametry apletu

Poniższy przykład pokazuje, jak używać odpowiedź apletu ustawić parametry określone w pliku. Aplet pokazuje czarny wzór szachownicy i drugi kolor.

Drugi kolor i rozmiar każdej kolumny określonej przez parametry apletu w dokumencie.

CheckerApplet uzyskać jego parametry w init () w środku. Można również uzyskać jego parametry w Paint () metoda środka. Jednak w aplecie zacząć uzyskiwać wartość i zapisać ustawienia, a nie gdy są odświeżane za każdym razem uzyskać wartość, dzięki czemu jest wygodny i skuteczny.

Widz applet lub przeglądarka gdy aplet uruchamia każde wywołanie metody init (). Po załadowaniu apletu Przeglądarka natychmiast wezwać metody init () (Applet.init () nic nie zrobił), zastąpić domyślną implementację tej metody, należy dodać trochę kodu niestandardowego inicjalizacji.

Metoda Applet.getParameter () oblicza się według wartości uzyskanej Nazwa parametru. Jeżeli otrzymana wartość jest liczbą lub inne dane non-znakowe, należy rozwiązać do typu string.

Poniższy przykład jest CheckerApplet.java Synopsis:

import java.applet.*;
import java.awt.*;
public class CheckerApplet extends Applet
{
   int squareSize = 50;// 初始化默认大小
   public void init () {}
   private void parseSquareSize (String param) {}
   private Color parseColor (String param) {}
   public void paint (Graphics g) {}
}

Oto metoda CheckerApplet klasy init () i prywatny parseSquareSize () metoda:

public void init ()
{
   String squareSizeParam = getParameter ("squareSize");
   parseSquareSize (squareSizeParam);
   String colorParam = getParameter ("color");
   Color fg = parseColor (colorParam);
   setBackground (Color.black);
   setForeground (fg);
}
private void parseSquareSize (String param)
{
   if (param == null) return;
   try {
      squareSize = Integer.parseInt (param);
   }
   catch (Exception e) {
     // 保留默认值
   }
}

ParseSquareSize wywołanie aplet (), aby rozwiązać parametry squareSize. parseSquareSize () metoda nazywa Integer biblioteki. parseInt (), która będzie analizować ciąg do liczby całkowitej, gdy parametr nie jest ważny, gdy Integer.parseInt () wyrzuca wyjątek.

Dlatego metoda parseSquareSize () również złapać wyjątek, a aplet nie może zaakceptować nieprawidłowe dane.

wywołanie metody apletu parseColor () parametru koloru postanawia wartości kolorów. Sposób parseColor () porównano szereg łańcuchów odpowiednio do wartości parametru oraz ustalonego nazwy kolorów. Trzeba wdrożyć te metody, aby uczynić pracę apletu.


Określ parametry apletu

Poniższy przykład jest plik HTML, który osadza klasę CheckerApplet. Plik HTML za pomocą Aplet Metoda tag określenie dwóch parametrów.

<html>
<title>Checkerboard Applet</title>
<hr>
<applet code="CheckerApplet.class" width="480" height="320">
<param name="color" value="blue">
<param name="squaresize" value="30">
</applet>
<hr>
</html>

Uwaga: Nazwy parametrów liter nie ma znaczenia.


Aplikacji w apletu

Graficzne aplikacje Java (odnosi się do korzystania z programów użytkowych oraz wykorzystanie programu Java wyrzutni AWT) do osadzony na stronie internetowej, gdzie aplet jest bardzo prosta.

Poniżej znajduje się kilka kroków do konwersji aplikacji do apletu:

  • Napisz stronę HTML, który może być ładowany z apletu kod znacznika.
  • Napisz podklasę JApplet klasa jest ustawiony na publiczny. W przeciwnym razie, aplet nie może być załadowany.
  • Wyeliminowanie stosowania głównej metody (). Nie skonstruowania ramy okna aplikacji, ponieważ aplikacja ma być wyświetlana w przeglądarce.
  • Okno aplikacji konstruktora ramki, gdzie kod inicjalizacji do metody apletu init (), obiekt aplet konfiguracyjny Ci nie są wyświetlane w przeglądarce za pomocą metody init () do instancji obiektu.
  • Usunąć wywołanie metody setSize (), aplet jest dana wielkość została utworzona przez plik HTML w parametrach szerokość i wysokość.
  • Usunąć wywołanie metody setDefaultCloseOperation (). Aplet nie może być zamknięta, ponieważ wychodzi przeglądarka jest zakończone.
  • Jeśli aplikacja wywołuje metodę setTitle (), eliminacja wywołanie tej metody. aplet nie może mieć pasek tytułowy. (Oczywiście, można dać za pośrednictwem tagu tytułu html dla strony sama nazwie)
  • Nie nazywaj setVisible (prawda), automatycznie wyświetlana jest aplet.

Przetwarzanie zdarzeń

klasy Applet dziedziczy kilka metod obsługi zdarzeń z klasy Container. Klasa Container definiuje kilka metod, takich jak: processKeyEvent () i processMouseEvent () do obsługi poszczególnych typów zdarzeń, istnieje metoda, aby uchwycić wszystkie zdarzenia zwane processEvent.

W odpowiedzi na zdarzenie, aplet musi zastąpić odpowiednią metodę obsługi zdarzenia.

import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.applet.Applet;
import java.awt.Graphics;
 
public class ExampleEventHandling extends Applet
                             implements MouseListener {
 
    StringBuffer strBuffer;
 
    public void init() {
         addMouseListener(this);
         strBuffer = new StringBuffer();
        addItem("initializing the apple ");
    }
 
    public void start() {
        addItem("starting the applet ");
    }
 
    public void stop() {
        addItem("stopping the applet ");
    }
 
    public void destroy() {
        addItem("unloading the applet");
    }
 
    void addItem(String word) {
        System.out.println(word);
        strBuffer.append(word);
        repaint();
    }
 
    public void paint(Graphics g) {
         //Draw a Rectangle around the applet's display area.
        g.drawRect(0, 0,
                      getWidth() - 1,
                      getHeight() - 1);
 
         //display the string inside the rectangle.
        g.drawString(strBuffer.toString(), 10, 20);
    }
 
  
    public void mouseEntered(MouseEvent event) {
    }
    public void mouseExited(MouseEvent event) {
    }
    public void mousePressed(MouseEvent event) {
    }
    public void mouseReleased(MouseEvent event) {
    }
 
    public void mouseClicked(MouseEvent event) {
         addItem("mouse clicked! ");
    }
}

Zadzwoń następujące apletu:

<html>
<title>Event Handling</title>
<hr>
<applet code="ExampleEventHandling.class"
width="300" height="300">
</applet>
<hr>
</html>

Większość zaczęła biec, wyświetlanie apletu "inicjalizacji apletu. Uruchomienie apletu.", A następnie kliknąć na prostokąt, to pokaże "kliknięciu myszą".


Pokaż zdjęcia

Aplet może wyświetlić GIF, JPEG, BMP i innych formatów graficznych. Aby wyświetlić zdjęcia w aplecie, trzeba użyć drawImage () Metoda java.awt.Graphics klasę.

Poniższe przykłady pokazują wszelkie kroki w celu wyświetlenia obrazów:

import java.applet.*;
import java.awt.*;
import java.net.*;
public class ImageDemo extends Applet
{
  private Image image;
  private AppletContext context;
  public void init()
  {
      context = this.getAppletContext();
      String imageURL = this.getParameter("image");
      if(imageURL == null)
      {
         imageURL = "java.jpg";
      }
      try
      {
         URL url = new URL(this.getDocumentBase(), imageURL);
         image = context.getImage(url);
      }catch(MalformedURLException e)
      {
         e.printStackTrace();
         // Display in browser status bar
         context.showStatus("Could not load image!");
      }
   }
   public void paint(Graphics g)
   {
      context.showStatus("Displaying image");
      g.drawImage(image, 0, 0, 200, 84, null);
      g.drawString("www.javalicense.com", 35, 100);
   } 
}

Zadzwoń następujące apletu:

<html>
<title>The ImageDemo applet</title>
<hr>
<applet code="ImageDemo.class" width="300" height="200">
<param name="image" value="java.jpg">
</applet>
<hr>
</html>

Odtwarzanie dźwięku

Aplet przez opakowanie java.applet użytku AudioClip odgrywają interfejsy audio. AudioClip interfejs definiuje trzy sposoby:

  • public void play (): Od początku raz odtwarzania audio, wideo.
  • public void loop (): pętla odtwarzania audio, wideo
  • public void stop (): Stop klipu audio

W celu uzyskania obiektu AudioClip, należy zadzwonić getAudioClip () klasy Metoda apletu. Bez względu na to, czy adres URL wskazuje na prawdziwego pliku audio, który będzie od razu zwróci wyniki.

Aż chce się grać plik audio, plik zostanie pobrany.

Poniższe przykłady pokazują kroki, aby odtworzyć wszystkie dźwięki:

import java.applet.*;
import java.awt.*;
import java.net.*;
public class AudioDemo extends Applet
{
   private AudioClip clip;
   private AppletContext context;
   public void init()
   {
      context = this.getAppletContext();
      String audioURL = this.getParameter("audio");
      if(audioURL == null)
      {
         audioURL = "default.au";
      }
      try
      {
         URL url = new URL(this.getDocumentBase(), audioURL);
         clip = context.getAudioClip(url);
      }catch(MalformedURLException e)
      {
         e.printStackTrace();
         context.showStatus("Could not load audio file!");
      }
   }
   public void start()
   {
      if(clip != null)
      {
         clip.loop();
      }
   }
   public void stop()
   {
      if(clip != null)
      {
         clip.stop();
      }
   }
}

Poniższa rozmowa aplet:

<html>
<title>The ImageDemo applet</title>
<hr>
<applet code="ImageDemo.class" width="0" height="0">
<param name="audio" value="test.wav">
</applet>
<hr>

Można użyć test.wav na komputerze, aby sprawdzić powyższe przykłady.