public void - Toko Elektronika.com

Download Report

Transcript public void - Toko Elektronika.com

Matakuliah : M0864/Programming I
Tahun
: 2009
Java Applets
Pertemuan 7
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa akan
mampu:
– menerapkan penggunaan event-driven dan
handling event pada pemograman Java.
Bina Nusantara
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa akan
mampu:
– mendemonstrasikan penggunaan Java
Applet dalam sebuah aplikasi
pemograman GUI di Java .
Bina Nusantara
Outline Materi
• Introduction
• Java Applets
• Applets as Application
Bina Nusantara
Introduction
• Graphic User Interface di Web.
• Animasi dan multimedia (gambar dan suara) dari Java di
web.
• Contoh yang paling bisa dijumpai game sudoku.
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
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
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.
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.
Applet Class
•
Kerangka kelas turunan yang menggunakan Applet :
Wajib di-override
di kelas turunannya
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.
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).
Applet Class
• Contoh ketika Applet dipanggil oleh Web.
Komponen JLabel yang dibuat
oleh kelas SampelApplet
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.
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.
Applets as Application
•
Contoh penggunaan Applet sebagai aplikasi :
Draw line
import 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
3D graphics
class 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;
}}
http://www.dgp.toronto.edu/~mjmcguff/learn/java/11-3d/
Bina Nusantara University
19
Color
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/
Bina Nusantara University
20
Keyboard Input
import java.applet.*; import java.awt.*; import
java.awt.event.*; public
class 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
Keyboard Input
public 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 );
Bina Nusantara University
g.setColor( Color.green );
22
Combobox
public 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;
http://www.java2s.com/Code/Java/Swing-JFC/Usingdropdownlists.htm
Bina Nusantara University
23
Combobox
public 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(
));
24
} });
Bina Nusantara University
combobox
public static void main(String[] args) {
run(new ComboBoxes(), 200, 125);
}
public static void run(JApplet applet, int width, int hei
ght) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_C
LOSE);
frame.getContentPane().add(applet);
frame.setSize(width, height);
applet.init();
applet.start();
25
frame.setVisible(true);
Bina Nusantara Universit
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());
}
http://www.roseindia.net/java/example/java/applet/Opening-new-browser-window-from-Applet.shtml
26
Referensi
• Introduction to Java. 7ed. 2009. Liang. Chapter 17.
• Java Applet
 http://en.wikipedia.org/wiki/Java_applet
• Applet
 http://java.sun.com/applets/
Bina Nusantara