java applets pertemuan 7

27

Upload: dessa

Post on 19-Jan-2016

81 views

Category:

Documents


4 download

DESCRIPTION

Java Applets Pertemuan 7. Matakuliah: M0864/Programming I Tahun: 2009. Learning Outcomes. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: menerapkan penggunaan event-driven dan handling event pada pemograman Java. Bina Nusantara. Learning Outcomes. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Java Applets Pertemuan 7
Page 2: Java Applets Pertemuan 7

Java AppletsPertemuan 7

Matakuliah : M0864/Programming ITahun : 2009

Page 3: Java Applets Pertemuan 7

Bina Nusantara

Learning Outcomes

Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu:

– menerapkan penggunaan event-driven dan handling event pada pemograman Java.

Page 4: Java Applets Pertemuan 7

Bina Nusantara

Learning Outcomes

Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu:

– mendemonstrasikan penggunaan Java Applet dalam sebuah aplikasi pemograman GUI di Java .

Page 5: Java Applets Pertemuan 7

Bina Nusantara

Outline Materi

• Introduction• Java Applets• Applets as Application

Page 6: Java Applets Pertemuan 7

Introduction

• Graphic User Interface di Web.

• Animasi dan multimedia (gambar dan suara) dari Java di web.

• Contoh yang paling bisa dijumpai game sudoku.

Page 7: Java Applets Pertemuan 7

Applet Class

• Java applet menggunakan kelas Applet.

• Sebagai framework yang memungkinkan untuk menjalankan applet dari sebuah web.

• Tidak memiliki fungsi main.

• Semua kelas yang menggunakan Applet wajib menurunkan kelasnya dari java.applet.Applet

Page 8: Java Applets Pertemuan 7

Applet Class

• Ketika Applet dijalankan, web browser membuat sebuah instant dari Applet dengan memanggil konstruktor applet yang tidak mengandung argumen atau parameter.

• Untuk mengontrol applet, browser menggunakan fungsi :– init,– start,– stop, dan – destroy

Page 9: Java Applets Pertemuan 7

Applet Class

• Fungsi init :– Dipanggil setelah applet dibuat.– Kelas turunannya wajib meng-override fungsi ini.– Biasanya digunakan untuk inisialisasi termasuk setting komponen user

interface.

• Fungsi start :– Dipanggil setelah fungsi init atau setiap kali halaman web dikunjungi.– Menjalankan fungsi-fungsi yang akan dijalankan di applet seperti

animasi.– Kelas turunannya wajib meng-override fungsi ini.

Page 10: Java Applets Pertemuan 7

Applet Class

• Fungsi stop :– Dipanggil ketika user meninggalkan halaman web yang

mengandung applet.– Applet menjadi tidak aktif.– Kelas turunannya wajib meng-override fungsi ini.

• Fungsi destroy :– Dipanggil ketika user menutup browser yang mengandung applet.– Semua sumber dan objek objek dihapus.– Dipanggil setelah fungsi stop dijalankan terlebih dahulu.– Kelas turunannya wajib meng-override fungsi ini.

Page 11: Java Applets Pertemuan 7

Applet Class• Kerangka kelas turunan yang menggunakan Applet :

Wajib di-override di kelas turunannya

Page 12: Java Applets Pertemuan 7

Applet Class

• Kelas Applet tidak dirancang untuk bekerja dengan komponen Swing.

• Untuk menggunakannya pada komponen Swing maka Applet (java.applet.Applet) menurunkan kelasnya pada JApplet (javax.swing.JApplet)

• Layout default dari JApplet : BorderLayout.

Page 13: Java Applets Pertemuan 7

Applet Class• Contoh penggunaan JApplet :

– Kelas diatas tidak dapat dijalankan begitu saja karena tidak memiliki fungsi main.

– Harus membuat file HTML dengan menggunakan tag applet <applet> yang mereferensi ke applet tersebut.

– Browser akan secara otomatis akan membuat frame yang menghandel component GUI tersebut, memberi juga ukuran frame tersebut dan membuat frame tersebut tampil (visible).

Page 14: Java Applets Pertemuan 7

Applet Class• Contoh ketika Applet dipanggil oleh Web.

Komponen JLabel yang dibuatoleh kelas SampelApplet

Page 15: Java Applets Pertemuan 7

Applets as Application

• JApplet merupakan subclass dari kelas Container dan memiliki kesamaan fungsi dengan JFrame, seperti komponen user interfaces, layout managers, dan event-handling yang digunakan.

• Hal-hal yang tidak boleh dilakukan ketika menjalankan Applet:– Tidak diperbolehkan membaca dari, menulis ke sistem file

komputer, karena akan merusak file-file dan menyebarkan virus– Tidak diperbolehkan untuk menjalankan program dari browser,

karena akan merusak sistem lokal komputer.– Tidak diperbolehkan melakukan hubungan antar komputer,

kecuali untuk server dimana applet disimpan.

Page 16: Java Applets Pertemuan 7

Applets as Application

• Untuk memanggil Applet sebagai applikasi maka kelas yang menggunakan Applet harus dibuatkan dahulu objeknya pada kelas yang memiliki fungsi main.

• Ada 2 cara menjalankan Applet sebagai applikasi :– Menggunakan kelas yang ada fungsi main.– Melempar String ke Applet dari halaman HTML.

Page 17: Java Applets Pertemuan 7

Applets as Application• Contoh penggunaan Applet sebagai aplikasi :

Page 18: Java Applets Pertemuan 7

Draw lineimport java.applet.*; import java.awt.*; public class DrawingLines extends Applet { int width, height; public void init() { width = getSize().width; height = getSize().height; setBackground( Color.black ); } public void paint( Graphics g ) { g.setColor( Color.green ); for ( int i = 0; i < 10; ++i ) {

g.drawLine( width, height, i * width / 10, 0 ); } } }

Bina Nusantara University 18

Page 19: Java Applets Pertemuan 7

3D graphicsclass Point3D { public int x, y, z; public Point3D( int X, int Y, int Z ) { x = X; y = Y; z = Z; } } class Edge { public int a, b; public Edge( int A, int B ) { a = A; b = B; } }

Bina Nusantara University 19

http://www.dgp.toronto.edu/~mjmcguff/learn/java/11-3d/

Page 20: Java Applets Pertemuan 7

Color

Bina Nusantara University 20

public void paint( Graphics g ) { int radius = width / 3; for ( int i = 0; i < N; ++i ) { // Compute (x,y) positions along a circle, // using the sine and cosine of an appropriately computed angle. double angle = 2*Math.PI*i/(double)N; int x = (int)( radius*Math.cos(angle) ); int y = (int)( radius*Math.sin(angle) ); g.setColor( spectrum[ i ] ); g.drawString( "Color", width/2+x, height/2+y ); } }

http://www.dgp.toronto.edu/~mjmcguff/learn/java/03-color/

Page 21: Java Applets Pertemuan 7

Keyboard Inputimport java.applet.*; import java.awt.*; import java.awt.event.*; publicclass Keyboard1 extends Applet implements KeyListener,MouseListener { int width, height; int x, y; String s = ""; public void init() { width = getSize().width; height = getSize().height; setBackground( Color.black ); x = width/2; y = height/2; addKeyListener( this ); addMouseListener( this ); }

Bina Nusantara University 21

Page 22: Java Applets Pertemuan 7

Keyboard Inputpublic void keyTyped( KeyEvent e ) { char c = e.getKeyChar(); s = s + c; repaint(); e.consume(); } }public void mouseReleased( MouseEvent e ) { } public void mouseClicked( MouseEvent e ) {

x = e.getX(); y = e.getY(); s = ""; repaint(); e.consume(); } public void paint( Graphics g ) { g.setColor( Color.gray ); g.drawLine( x, y, x, y-10 ); g.drawLine( x, y, x+10, y ); g.setColor( Color.green ); g.drawString( s, x, y ); } }

Bina Nusantara University 22

Page 23: Java Applets Pertemuan 7

Comboboxpublic class ComboBoxes extends JApplet {private String[] description = { "Ebullient", "Obtuse", "Recalcitrant", "Brilliant", "Somnescent", "Timorous", "Florid", 

"Putrescent" };

  private JTextField t = new JTextField(15);  private JComboBox c = new JComboBox();  private JButton b = new JButton("Add items");  private int count = 0;

  

Bina Nusantara University 23

http://www.java2s.com/Code/Java/Swing-JFC/Usingdropdownlists.htm

Page 24: Java Applets Pertemuan 7

Comboboxpublic void init() {

    for (int i = 0; i < 4; i++)      c.addItem(description[count++]);    t.setEditable(false);    b.addActionListener(new ActionListener() {      public void actionPerformed(ActionEvent e) {        if (count < description.length)          c.addItem(description[count++]);} });    c.addActionListener(new ActionListener() {      public void actionPerformed(ActionEvent e) {        t.setText("index: " + c.getSelectedIndex() + "   "            + ((JComboBox) e.getSource()).getSelectedItem());      }  });

Bina Nusantara University 24

Page 25: Java Applets Pertemuan 7

comboboxpublic static void main(String[] args) {

    run(new ComboBoxes(), 200, 125);  }

  public static void run(JApplet applet, int width, int height) {    JFrame frame = new JFrame();    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    frame.getContentPane().add(applet);    frame.setSize(width, height);    applet.init();    applet.start();    frame.setVisible(true);  }} 

Bina Nusantara Universit 25

Page 26: Java Applets Pertemuan 7

Tugas PR• Buat Java application sederhana untuk membuka browser

menggunakan Japplet

public void actionPerformed(ActionEvent ae){    Button source = (Button)ae.getSource();    String link = "http://www."+source.getLabel()+".com";    try    {      AppletContext a = getAppletContext();      URL url = new URL(link);      a.showDocument(url,"_blank");    }    catch (MalformedURLException e){      System.out.println(e.getMessage());    }

26http://www.roseindia.net/java/example/java/applet/Opening-new-browser-window-from-Applet.shtml

Page 27: Java Applets Pertemuan 7

Bina Nusantara

Referensi

• Introduction to Java. 7ed. 2009. Liang. Chapter 17.• Java Applet

http://en.wikipedia.org/wiki/Java_applet• Applet

http://java.sun.com/applets/