• Tidak ada hasil yang ditemukan

BAB 9 JSF - JENI Web Programming Bab 9 JSF

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB 9 JSF - JENI Web Programming Bab 9 JSF"

Copied!
15
0
0

Teks penuh

(1)

BAB 9

JSF

Pada bab sebelum nya, kit a t elah m elihat St rut s, sebuah fram ew ork open- source unt uk aplikasi web yang m engim plem ent asikan arsit ekt ur m odel- 2. Sekarang m ari kit a lihat fram ework lainnya : Java Server Faces ( JSF) .

9 .1 Pe n ge n a la n

JSF

JSF adalah fram ework unt uk m em bangun user int erface unt uk aplikasi web. Dibangun berdasar pada konsep- konsep yang diperkenalkan oleh St rut s dan m em bagi bersam a keunt ungan sebuah arsit ekt ur yang benar- benar m em isahkan present asi layer dari business logic dan sebuah st andard kom ponen user int erface yang perangkat nya serupa dengan widget Sw ing.

Dibawah ini adalah gam baran det ail bagaim ana fram ework Faces bekerj a.

Ga m ba r 9 - 1 Ja va Se r ve r Fa ce s Fr a m e w or k

(2)

Sepert i yang kit a lihat , JSF j uga m em punyai pem isahan yang j elas ant ara kom ponen layer Model, View , dan Cont roller. Sam a sepert i St rut s, JSF m em iliki sebuah cont roller servlet bagian depan yait u FacesServlet yang bert anggung j awab unt uk m enerim a perm int aan dari client dan kem udian m enj alankan act ion yang dibut uhkan yang dit unt un oleh fram ework. Persam aan lainnya adalah m ereka berdua m enggunakan act ion handler yang t erpisah dari cont roller serv let bagian depan. Meskipun dem ikian handle- handle Faces ini sedikit berbeda dengan St rut s.

Faces dan St rut s m em ilik i t uj uan yang sam a berkait an dengan layer View . Disini, St rut s hanya m enyediakan sebuah set libray- libray t ag yang dit am bahkan pada bagian at as fungsi HTML st andard. Sebaliknya, Faces m enyediakan set sendiri dar i kom ponen- kom ponen besert a sebuah set library- library unt uk m em perlihat kan kom ponen- kom ponen ini sebagai t ag- t ag dan sebuah kom ponen hasil render yang m ent erj em ahkan kom ponen UI m enj adi HTML.

9 .1 .1 CON TROLLER

Layer cont roller dari Faces yang t erdir i dari cont roller servlet ( FacesServlet ) , sat u set file konfigurasi XML dan sebuah set act ion handler.

9 .1 .1 .1 Fa ce sSe r vle t

FacesServlet bert anggung j awab unt uk m enerim a perm int aan dari client dan m enj alankan operasi yang diperlukan unt uk m enghasilkan respon. Operasi ini t erm asuk m enyiapkan kom ponen-kom ponen UI yang dibut uhkan unt uk perm int aan, m eng- updat e st at us ponen-kom ponen, m em anggil act ion handler yang dibut uhkan ( j ika ada) , dan kom ponen- kom ponen UI hasil render yang m erupakan bagian dari respon.

FacesServlet disediakan unt uk kit a oleh fram ew ork JSF, dan hanya m em but uhkan konfigurasi dalam sebuah pengem bangan descript or aplik asi sebelum siap unt uk digunakan.

Dibaw ah ini adalah pot ongan yang dit unj ukkan unt uk Kit a bagaim ana m engkonfigurasikan FacesServlet unt uk aplikasi Kit a.

...

<servlet>

<servlet-name>FacesServlet</servlet-name>

<servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup>

</servlet> ...

<servlet-mapping>

<servlet-name>FacesServlet</servlet-name> <url-pattern>*.jsf</url-pattern>

</servlet-mapping>

(3)

9 .1 .1 .2 Act ion H a ndle r s

Telah dij elaskan sebelum nya bahw a Faces m enggunakan act ion handlor yang independen dari cont roller servlet bagian depan, sam a sepert i St rut s. Meskipun dem ikian, Faces m engerj akan fungsi ini dengan cara yang berbeda.

Dalam Faces, ada dua cara m em buat act ion handler. Yang pert am a adalah dengan m enj adikan sat u sebuah m et hod JavaBean unt uk bert indak sebagai act ion handler, dan yang kedua adalah dengan m em buat sebuah class inst ans yang m engim plem ent asikan int erface Act ionList ener.

9 .1 .1 .3 m e t h od a plik a si

Sebuah m et hod yang harus m em punyai suat u kom ponen UI unt uk bert indak sebagai act ion handler disebut m et hod aplikasi. Kem udian, dalam bagian View, Kit a akan m elihat bagaim ana pengikat an selesai. Sem ent ara it u, ada beberapa at uran yang dibut uhkan unt uk m em buat sebuah m et hod aplikasi :

z Met hod harus dideklarasikan public z Met hod harus t anpa param et er

z j enis ret urn m et hod harus m enj adi sebuah St ring

Dibawah ini adalah sebuah m et hod yang m ungkin dapat kit a gunakan unt uk m enangani sebuah event sebagai hasil dari user yang m encoba unt uk login:

...

public String performLogin() {

// melarikan user ke case failure jika loginName nya kosong if (loginName == null || loginName.length() < 1) {

return "failure" }

// melarikan user ke case failure jika password nya kosong if (password == null || password.length() < 1) {

return "failure"; }

(4)

// membuat object business yang akan menangani pengecekan hak akses

FacesContext ctx = FacesContext.getCurrentInstance();

// meletakkan hasil kedalam kontek session untuk digunakan oleh komponen lain

Map sessionMap = ctx.getExternalContext().getSessionMap(); sessionMap.put(ApplicationConstants.USER_OBJECT, user);

// sejak user berhasil login, melanjutkan ke success return "success";

} } ...

Salah sat u keunt ungan dari j enis act ion handling ini adalah m engurangi banyaknya obj ect yang pengem bang perlukan unt uk di- m aint ain. Met hod ini dapat di dalam set iap JavaBean yang dikenal oleh fram ework, m eskipun biasanya dapat dit em ukan di dalam bean yang digunakan sebagai

backing m odel unt uk halam an form t ert ent u. Pada cont oh diat as, loginNam e dan passw ord adalah propert ies di dalam backing m odel.

St ring yang dikem balikan oleh m et hod aplikasi m enginform asikan FacesServlet dim ana berikut nya dilihat oleh user. St ring bersifat nam a- nam a logis, kadang disebut out com e; out com e ini dicocokkan dengan perat uran- perat uran navigasi yang dit uliskan dalam file konfigurasi.

Sat u hal yang pent ing unt uk dicat at adalah cara yang dit em puh oleh Kit a dalam m enem pat kan obj ect kedalam scope session dalam fram ework JSF. Dalam St rut s, karena penanganan obj ect Act ion form it u diberi sebuah inst ans Ht t pServlet Request , m enj adi m udah unt uk m enerim a sebuah salinan dari scope session yang m ew akili obj ect Ht t pSession. Bagaim anapun j uga, bukan m asalah unt uk act ion handler dalam Faces. Sebagai gant inya, obj ect di dalam fram ework Faces m endapat keunt ungan akses unt uk cont ext ext ernal ( web cont ainer, port let s, dsb) m enggunakan sebuah inst ans dari obj ect FacesCont ext .

FacesContext ctx = FacesContext.getCurrentInstance();

...

(5)

Set elah m enerim a obj ect FacesCont ext , Kit a m enerim a perwakilan m ap obj ect di dalam scope session dengan m em anggil ge t Ex t e r n a lCon t e x t ( ) .ge t Se ssion M a p( ) .

9 .1 .1 .4 Act ion List e n e r

Cara lain m engim plem ent asikan act ion handler dalam JSF adalah m em buat sebuah class yang m engim plem ent asikan int erface Act ionList ener. I nt erface ini m enj abarkan sebuah m et hod single :

pu blic void pr oce ssAct ion ( Act ion Eve n t e ve n t )

Obj ect Act ionEvent dilewat kan sebagai param et er dalam m et hod yang m enyediakan im plem ent asi akses class kepada kom ponen yang disebabkan oleh event . Hal ini serupa dengan bagaim ana cara obj ect Event bekerj a di dalam pem rogram an Sw ing.

Dibawah ini adalah sebuah cont oh im plem ent asi Act ionList ener yang digunakan unt uk logging aksi user.

public class PerformedActionListener implements ActionListener { public void processAction(ActionEvent event) {

// mendapatkan kembali komponen yang dipakai oleh event UICommand component = (UICommand)event.getComponent();

// mendapatkan kembali nama dari button atau link String commandName = (String)component.getValue();

// membuat object business yang menampilkan fungsionalitasnya LoggingService service = new LoggingService();

// menampilkan operasi logging

service.logUserAction(commandName); }

(6)

Hingga saat ini, lebih baik m enggunakan m et hod aplikasi unt uk bert indak sebagai act ion handler. Pert am a, m ereka dapat dit em pat kan di dalam class yang sam a dim ana bert indak sebagai backing m odel sebuah form , dan hal sepert i it u m em punyai akses lebih m udah kepada pengguna m enyediakan dat a. Kedua, m enj adi backing m odel m engij inkan pengem bang unt uk m enggolongkan bersam a- sam a sebuah dat a dan m et hod yang bekerj a pada sat u class, m em buat lebih buat di- m aint ain. Ket iga, m et hod aplikasi m am pu m engem balikan out com e yang m enginform asikan FacesServlet t am pilan yang akan dit am pilkan selanj ut nya. Act ionList ener t idak bisa, dengan dem ikian hanya dapat m em bawa user kem bali k epada halam an asli set elah penanganan sebuah event .

Act ionList ener adalah pilihan yang sesuai, m eskipun dem ikian j ika Anda ingin kem am puan refact or um um bahwa anda dapat m enggunakan kem bali across m ult iple act ion sources.

Jika kit a lihat yang m endat ang, dim ungkinkan unt uk m em iliki sebuah m et hod aplikasi dengan sebuah at au lebih Act ionList ener unt uk bekerj a sebagai handler unt uk act ion t ert ent u. Hal t erbaik unt uk dilakukan kem udian adalah unt uk m endapat kan t erbaik dari keduanya : m em iliki sebuah m et hod aplikasi unt uk m engerj akan penanganan khusus kepada act ion, dan kem udian m em ilik i Act ionList ener yang m engerj akan fungsi t uj uan um um .

9 .1 .1 .5 fa ce s- config.x m l

Hal ini bert indak sebagai file konfigurasi ut am a unt uk layer cont roller dari fram ew ork JSF. Sebagai lawan rekan pendam pingnya di dalam fram ework St rut s, Dia t idak berisi m asukan- m asukan konfigurasi unt uk at uran- at uran navigasi, sepert i j uga unt uk JavaBean yang akan dikenali oleh fram ework.

(7)

<!DOCTYPE faces-config PUBLIC

“-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN” “http://java.sun.com/dtd/web-facesconfig_1_0.dtd”>

<managed-bean-name>loginPage</managed-bean-name>

<managed-bean-class>sample.LoginPageBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope>

(8)

Mari kit a bahas sat u per sat u elem en di at as.

< ! DOCTYPE ...

Digunakan unt uk m enunj ukkan bahw a file ini bert indak sebagai sebuah file konfigurasi unt uk JSF. Kegagalan unt uk m em asukkan baris ini, at au salah m enget ik akan m engakibat kan sebuah error.

< faces- config>

Bert indak sebagai elem en ut am a dari file XML ini. Sem ua elem en lainnya harus m enj adi t urunan dari elem en ini.

< m anaged- bean>

Set iap elem en m anaged- bean berfungsi unt uk m enggam barkan suat u JavaBean yang akan diat ur dan dikenal oleh fram ework. Dim ana m em iliki elem en- elem en t urunan sepert i berikut ini :

z < descript ion> - t idak m elayani t uj uan apapun kecuali unt uk m em perbaiki kem am puan baca ( readabilit y) file konfigurasi.

z < m anaged- bean- nam e> - bert indak sebagai logical nam e dim ana sebuah inst ans bean ini yang dapay diakses at au digunakan di dalam fram ew ork. Harus unik unt uk set iap bean. z < m anaged- bean- class> - nam a class yang sepenuhnya berkualit as dari JavaBean unt uk

diat ur.

z < m anaged- bean- scope> - scope dim ana bean ini disim pan. Dapat request, session,

application, or none. Mem ilik i sebuah nilai none berart i st at us bean t idak akan disim pan di t engah perm int aan at au di dalam perm int aan.

z < m anaged- propert y> - m endeklar asikan nilai unt uk digunakan unt uk inisialisasi propert ies di dalam JavaBean. Tidak perlu m em buat m asukan < m anaged- propert y> unt uk set iap propert y di dalam JavaBean, hal t ersebut hanya j ika Anda ingin init ialize. Mem iliki elem en t urunan sepert i berikut :

Elem en ini digunakan unt uk m enj elaskan m apping logical unt uk t it ik balik di dalam aplikasi Anda. Dapat digunakan yang m ana m enj elaskan at uran khusus unt uk halam an t ert ent u, at au unt uk m enj elaskan at uran yang dapat digunakan oleh t iap- t iap halam an di dalam aplikasi. Mem iliki elem en- elem en t urunan dibaw ah ini :

(9)

Ada elem en- elem en lainnya yang t ersedia unt uk file konfigurasi JSF. Lihat dokum ent asi im plem ent asi JSF Anda unt uk det ail lebih lanj ut .

Kesim pulan unt uk layer Cont roller :

Pengat uran sat u kali :

z Konfigurasi FacesServlet unt uk digunakan dalam aplikasi Anda.

Unt uk set iap halam an w eb yang berisi kom ponen UI JSF :

z Buat lah sebuah m asukan konfigurasi unt uk backing m odel halam an.

z Buat lah at uran navigasi dim ana m enj elask an dim ana aplikasi bisa m ungkin pergi berikut nya set elah halam an.

9 .1 .2 M OD EL

Fram ework JSF t idak m enet apkan kem bali set iap class at au kom ponen yang pengem bang diwaj ibkan unt uk t erbiasa dengan m enggam barkan t iap class yang m engim plem ent asikan business logic dari aplikasi. Bagaim anapun j uga, dalam Faces dibut uhkan unt uk m em iliki class-class yang akan m enyim pan st at us kom ponen UI dalam set iap halam an. Class- class-class ini disebut

backing m odel elem en- elem en it u.

Class- class ini bukanlah class- class Model ket ika dipandang dengan seksam a dibawah perspekt if dari arsit ekt ur m odel 2. Bagaim anapun j uga, ket ika hanya berpikir k om ponen- kom ponen UI , hal t ersebut bisa dipaham i unt uk m em anggil class- class ini adalah bagian dari Model, khususnya j ika Kit a unt uk m em bandingkannya dengan im plem ent asi MVC dari class- class kom ponen Sw ing UI . I ngat , dalam Swing bahwa rendering layer disebut View, st at us kom ponen adalah Model dan act ion handler adalah bagian Cont roller.

Meskipun m ereka disebut bagian dari Model, beberapa hal perlu diper hat ikan yang harus diam bil dalam pengem bangan dari class- class ini sepert i m erek a t idak m em pengaruhi fungsi int i dari aplikasi Anda( Model sesungguhnya) . Sangat baik unt uk m engingat bahwa kom ponen- kom ponen ini dim aksud unt uk m enyim pan st at us unt uk kom ponen UI dan m ungkin m enj elaskan operasi dasar yang m engakses dat a yang t ersim pan dim ana dapat bert indak sebagai m et hod aplikasi. Mereka t idak dim aksudkan unt uk m engerj akan proses yang berat at au t iap- t iap proses sam a sekali yang dapat digunakan kem bali dalam aplikasi lain.

(10)

Dibawah ini adalah sebuah cont oh backing m odel unt uk sebuah form login.

public void setLoginName(String loginName) { this.loginName = loginName;

}

public String getPassword() { return password;

}

public void setPassword(String password) { this.password = password;

} }

Model ini k em udian dapat diakses dengan halam an Kit a set elah dikonfigurasikan dengan baik dalam file k onfigurasi faces- config.xm l. Konfigurasi m asukan unt uk bean ini adalah dit iru dibaw ah sebagai acuan.

<managed-bean> <description>

This bean serves as the backing model for our login form </description>

<managed-bean-name>loginPage</managed-bean-name>

<managed-bean-class>sample.LoginPageBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope>

(11)

9 .1 .3 V I EW

Tak dapat dipungkiri,view adalah layer dim ana kebanyakan JSF m enj adi t erkenal. Dalam lay er ini, JSF t idak hanya m enyediakan unt uk Kit a dengan t ag- t ag cust om dim ana kit a dapat m enggunakan unt uk m enam pilkan int erface Kit a m enggunakan JSP, Dan j uga m enyediakan unt uk Kit a dengan sebuah set kom ponen dan sebuah st andardisasi API unt uk m engakses dan m em anipulasi m ereka.

Sebuah diskusi kom ponen JSF bisa sangat diperum it j ika Kit a m encoba unt uk m enj elaskan segalanya pada wakt u yang sam a. Sebagai gant inya, Kit a akan m engam bil sebuah t am pilan yang sederhana t erlebih dahulu, dan m enj elaj ah lebih dalam kem udian.

9 .1 .3 .1 I n t e gr a si JSF- JSP

Pert am a- t am a, m ari m ulai dengan bagian yang paling m encolok dari m enggunakan kom ponen JSF : Bagaim ana caranya m enam pilkan m ereka kepada user. Berkut adalah list ing unt uk halam an JSP yang berisi kom ponen JSF dim ana bert indak sebagai halam an login unt uk cont oh Kit a sebelum nya.

<%@taglib uri ="http://java.sun.com/jsf/core/" prefix="f" %> <%@taglib uri ="http://java.sun.com/jsf/html" prefix="h" %>

<HTML>

<TITLE>Login Page</TITLE> <BODY>

Please login with your login name and password : <br/><br/>

<f:view>

<h:form id="simpleForm">

<h:outputLabel for="loginName">

<h:outputText value="Login Name:"/> </h:outputLabel>

<h:inputText id="loginName" value="#{loginPage.loginName}"/><br/>

<h:outputLabel for="password">

<h:outputText value="Password : "/> </h:outputLabel>

<h:inputSecret id="password" value="#{loginPage.password}"/><br/>

<h:commandButton action="#{loginPage.performLogin}" value="Login"/> </h:form>

</f:view>

(12)

Unt uk m enggunakan kom ponen JSF dalam halam an JSP Kit a, Kit a but uh unt uk m em asukkan dua t ag library : core dan ht m l. Core t ag library m enj elaskan fungsi int i, sepert i bagaim ana cara unt uk m engat ur kom ponen JSF sepert i kem am puan m ereka unt uk m enyim pan st at us, dan lain- lain. HTML library m enj elaskan t ag- t ag yang m engat akan kepada browser bagaim ana cara render kom ponen JSF Kit a m enj adi sesuai dengan HTML m ereka.

Begit u Kit a t elah m em asukkan kedua t ag library ini, Kit a m enggunakan t ag- t ag cust om yang m ereka j elaskan. Mari Kit a periksa t ag- t ag yang t elah Kit a gunakan di dalam cont oh- cont oh yang t erdahulu :

• < view> - digam barkan di dalam library int i. Sem ua penj elasan t ag- t ag kom ponen JSF harus enlosed didalam t ag ini. Tag ini m enyediakan sebuah t em pat unt uk im plem ent asi JSF unt uk m am pu m enyim pan st at us dari kom ponen UI Kit a. I ngat , t idak ada view , t idak ada st at us yang disim pan unt uk kom ponen- kom ponen Kit a.

• < form > - digam barkan di dalam library HTML. Render sebuah form dalam HTML.

• < out put Label> - m enggam barkan sebuah kom ponen label yang berhubungan dengan kom ponen JSF lainnya. Kom ponen yang dihubungkan dit andai oleh nilai di dalam at ribut

for selam a nilai yang dit am pilkan karena label adalah out put dari field < out put Text > yang t erlam pir didalam nya/

• < out put Text > - hanya m e- render t ext di dalam at ribut nilainya m enj adi yang sesuai dengan HTMLnya.

• < input Text > - m e- render sebuah elem en input HTML berj enis t ext .

• < input Secret > - m e- render sebuah elem en input HTML berj enis password. • < com m andBut t on> - m e- render sebuah elem en input HTML berj enis subm it .

(13)

Dan berikut nya adalah source HTML dari out put .

<HTML>

<TITLE>Login Page</TITLE> <BODY>

Please login with your login name and password : <br/><br/>

<form id=id="simpleForm" method="post" action="/JSFApplication/index.jsf" enctype="application/x-www-form-urlencoded">

<label for="simpleForm:loginName"> Login Name:

</label>

<input id="simpleForm:loginName" type="text" name="simpleForm:loginName" /><br/>

<label for="simpleForm:password"> Password :

</label>

<input id="simpleForm:password" type="password" name="simpleForm:password" value="" /><br/>

<input type="submit" name="simpleForm:_id5" value="Login" />

<input type="hidden" name="simpleForm" value="simpleForm" /></form>

</BODY> </HTML>

(14)

9 .1 .3 .2 M EN GI KAT N I LAI

Kom ponen UI yang m enyusun view diat as m em erlukan sebuah backing m odel unt uk dapat m enyim pan dat a yang ingin dim asukkan. I m plem ent asi backing m odel ini t elah didiskusikan sebelum nya. Sat u- sat unya pert anyaan adalah bagaim ana caranya m enghubungkan kom ponen Kit a ke backing m odel.

Pot ongan JSP diat as akan dibuat ulang disini unt uk pem anggilan ulang yang lebih m udah.

...

<h:inputText id="loginName" value="#{loginPage.loginName}"/><br/> <h:outputLabel for="password">

<h:outputText value="Password : "/> </h:outputLabel>

<h:inputSecret id="password" value="#{loginPage.password}"/><br/> ...

Perhat ikan t ext yang dit ulis t ebal. Not asi # yang bert indak sebagai nilai unt uk at ribut va lu e yang m engikat propert ies di dalam LoginPageBean Kit a unt uk kom ponen UI Kit a, dengan kom ponen m enj adi bat as propert y loginNam e dan kom ponen input Secret m enj adi bat as unt uk propert y password. Login Pa ge dalam hal ini m engacu kepada sebuah inst ans LoginPageBean yang akan m enyim pan dat a.

Halam an JSF m am pu unt uk m enghubungkan ident ifier loginPage kepada sebuah inst ans dari suat u LoginPageBean karena isi dari faces- config.xm l. Masukan relevan diperkenalkan dibawah :

<managed-bean> <description>

This bean serves as the backing model for our login form </description>

<managed-bean-name>loginPage</managed-bean-name>

<managed-bean-class>jedi.sample.LoginPageBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope>

...

(15)

9 .1 .3 .3 M EN D AFTARKAN ACTI ON H AN D LERS KE KOM PON EN V I EW

Di dalam list ing HTML sebelum nya, Kit a dapat m elihat bahwa form Kit a, ket ika dirender dengan t ag cust om JSF, poin- poin hanya unt uk diri sendiri dengan at ribut act ionnya. Aplikasi web t radisional akan m enem pat kan URL at au m apping URL kom ponen yang akan m enangani subm ission form di dalam at ribut act ion. Benar- benar, Faces m enangani aspek ini dengan cara yang berbeda.

JSF m engenalkan konsep pem rogram an berbasis event ke dalam lingkungan web. Set iap kom ponen UI yang akan JSF sediakan diberi act ion user yang sesuai at au input , m eng- generat e event s dapat diproses oleh act ion handlers.

Di dalam JSF di at as, sebagai gant i pem ikiran bahw a m enekan t om bol subm it akan m engakibat kan subm ission form , pikirkan bahwa m enekan t om bol akan m engakibat kan sebuah Act ionEvent di- generat e, dim ana kem udian dapat diproses oleh sebuah handler.

Meninj au lagi ke dalam halam an JSF :

...

<h:commandButton action="#{loginPage.performLogin}" value="Login"/> ...

Kit a t em ukan sebuah not asi # serupa dengan yang digunakan dalam m engikat sebuah propert y bean unt uk sebuah kom ponen UI . Niat disini sam a seper t i : Kit a m engikat sebuah m et hod dengan nam a perform Login yang dit em ukan di dalam sebuah bean yang disesuaikan dengan nam a loginPage k epada t om bol kom ponen UI Kit a. Sekarang, sebagai gant i penyim panan nilai unt uk kom ponen, m et hod bat as beraksi sebagai act ion handler unt uk m edia t om bol.

Ket ika user m eng- klik pada t om bol ini, fram ew ork m em anggil act ion handler yang dit unj uk. Lalu m enggunakan hasil St ring dari act ion handler unt uk m enent ukan halam an m ana yang akan pergi ke yang berikut nya dengan m encarinya di dalam at uran navigasi yang dikonfigurasikan.

Unt uk m endapat kan suat u pengert ian m endalam yang lebih baik di kom ponen- kom ponen yang JSF sediakan, akan m enj adi lebih baik ket ika m elihat pada kom ponen Sw ing

z Set iap kom ponen Swing m enj elaskan sebuah widget int erface, m asing- m asing dengan kem am puannya yang dapat diakses secara program m enggunakan API . Cont oh : sebuah kom ponen JText Field m enam pilkan sebuah field t ext yang dapat m enerim a input dari user. Nilai dapat dit erim a m enggunakan get Text ( ) .

z Masing- m asing kom ponen j uga berbagi beberapa propert ies dan m et hod yang bersifat um um unt uk sem ua kom ponen yang lain( Sebagai cont oh, sebuah m et hod field t ext set Nam e( ) ) .

z Beberapa kom ponen Sw ing adalah Cont ainer, dim ana m ereka dapat m enerim a kom ponen-kom ponen lain unt uk m em bent uk suat u gabungan yang kem udian dapat dit am pilkan kepada user at au handler. Cont oh : JPanel, JFram e keduanya dapat digunakan unt uk diisikan oleh kom ponen- kom ponen lain.

Kom ponen Sw ing bersifat berbasis event dan int eraksi user dengan kom ponen Swing

Referensi

Dokumen terkait

[r]

Demikian Berita Acara Hasil Pelelangan untuk paket pekerjaan “ Konsultan Perencana Revitalisasi Gedung dan Sarana Kantor ” ini dibuat dengan sebenarnya untuk dapat

Untuk mengetahui lebih lanjut apa saja penyimpangan yang tidak kita sadari pernah terjadi dalam kekeluargaan, kita akan membahasnya perlahan dengan contoh yang konkrit dan nyata yang

yang ditujukan kepada Pokja III ULP Pemerintah Kabupaten Labuhanbatu mulai tanggal 15 s.d 19 Agustus. 2013, pada

Putusan arbitrase internasional yang dapat dieksekusi hanya diakui serta dapat dilaksanakan di wilayah hukum Republik Indonesia, jika telah memenuhi syarat : (1)

[r]

Menetapkan : PERATURAN KEPALA BADAN METEOROLOGI, KLIMATOLOGI, DAN GEOFISIKA TENTANG TATA CARA TETAP PELAKSANAAN PENGARSIPAN DATA HIDROMETEOROLOGI.. Hidrometeorologi adalah

Menunjuk kepada kalimat ー・イエ Fセ。@ dari pasal 1 ayat (2) dan pada pasal 5 dari p・イウ・エオェオ。 セ@ yang ditanda- tangani pada 7 Desember 1973 antara