Using Java Components in Oracle Forms Applications

112 downloads 2467 Views 196KB Size Report
Oracle Forms Server is an internet application development tool and runtime platform. ... Oracle Forms Server 6i extends the richness and capabilities of the user ...




Using Java Components in Oracle Forms Applications An Oracle Technical White Paper January 2000

  











INTRODUCTION 2UDFOH )RUPV 6HUYHU LV DQ LQWHUQHW DSSOLFDWLRQ GHYHORSPHQW WRRO DQG UXQWLPH SODWIRUP  8VLQJ D XQLTXHVFDOHDEOHDQGKLJKO\RSWLPL]HGDUFKLWHFWXUH2UDFOH)RUPV6HUYHUHQDEOHV\RXWRGHYHORSDQG GHSOR\ DSSOLFDWLRQV XVLQJ WKLQ FOLHQWWHFKQRORJ\LQDVFDOHDEOHDQGHIILFLHQWZD\ZLWKRXWVDFULILFLQJ WKHFDSDELOLWLHVRIDULFKXVHULQWHUIDFH0RYLQJDSSOLFDWLRQVWRWKHZHEQRORQJHUPHDQV\RXKDYHWR GRZQJUDGHWKHXVHULQWHUIDFH2UDFOH)RUPV6HUYHUVXSSRUWVDOOWKHULFKXVHULQWHUIDFHFRPSRQHQWV VXFKDVSRSOLVWVOLVWRIYDOXHVDXWRUHGXFLQJOLVWVHWFW\SLFDOO\IRXQGDQGXVHGLQPRUHWUDGLWLRQDO GHVNWRSERXQGDSSOLFDWLRQVLQ:HEEDVHGDSSOLFDWLRQV 2UDFOH)RUPV6HUYHULH[WHQGVWKHULFKQHVVDQGFDSDELOLWLHVRIWKHXVHULQWHUIDFHE\DOORZLQJ\RXWR HPEHG DQG XVH \RXU RZQ FXVWRP -DYD FRPSRQHQWV LQ WKH DSSOLFDWLRQ  7KLV LQWHJUDWLRQ RI 2UDFOH )RUPV 6HUYHU L DQG FXVWRP -DYD FRGH LV DFKLHYHG WKURXJK WKH XVH RI WKH 3OXJJDEOH -DYD &RPSRQHQWV 3-& LQWHUIDFHWKDWKDVEHHQH[SRVHGLQWKHLUHOHDVH8VLQJWKH3-&LQWHUIDFHLWLV SRVVLEOHWRLQFRUSRUDWHRIIWKHVKHOI-DYD%HDQVLQWRDQDSSOLFDWLRQWRPRGLI\WKHGHIDXOWEHKDYLRURI RQHRIWKHVWDQGDUG'HYHORSHU-DYD8,FRPSRQHQWVRUWRFRPSOHWHO\UHSODFHRQHRIWKHVWDQGDUG 'HYHORSHU -DYD 8, FRPSRQHQWV ZLWK D FXVWRP -DYD FRPSRQHQW WKDW GLVSOD\V DQG EHKDYHV LQ D FRPSOHWHO\GLIIHUHQWZD\ 7KLV SDSHU IRFXVHV RQ KRZ WR EXLOG 3OXJJDEOH -DYD &RPSRQHQWV 3-&  DQG WR XVH WKHP ZLWKLQ 2UDFOH)RUPV6HUYHULDSSOLFDWLRQV

ORACLE FORMS SERVER ARCHITECTURE 2UDFOH )RUPV 6HUYHU HQDEOHV DSSOLFDWLRQV WR EH UXQ DV LQWHUQHW DSSOLFDWLRQV WKURXJK WKH XVH RI D XQLTXH-DYDEDVHGFOLHQWDQGDSSOLFDWLRQVHUYHUDUFKLWHFWXUH7KLVDUFKLWHFWXUHHPSOR\VWKHXVHRID SRZHUIXODSSOLFDWLRQVHUYHUWRH[HFXWHWKHDSSOLFDWLRQORJLFDQGDJHQHULF2UDFOH)RUPV6HUYHU-DYD FOLHQWWKDWLVDEOHWRUHQGHUWKHXVHULQWHUIDFHIRUDQ\2UDFOH)RUPVDSSOLFDWLRQ7KH2UDFOH)RUPV 6HUYHU-DYDFOLHQWIDFLOLWDWHVWKHLQWHUDFWLRQEHWZHHQWKHHQGXVHUDQGWKHDSSOLFDWLRQUXQQLQJRQWKH DSSOLFDWLRQ VHUYHU XVLQJ DQ LQWHOOLJHQW PHVVDJH SDVVLQJ PHFKDQLVP ZKLFK XWLOL]HV FDFKLQJ DQG FRPSUHVVLRQWRUHGXFHQHWZRUNWUDIILF 7KLVSDSHUZLOORQO\DGGUHVVWKHUHOHYDQWSRUWLRQVRIWKHDUFKLWHFWXUHDVWKH\SHUWDLQWKHXVHRI3-&V ZLWKLQ)RUPV

Using Java Components in Oracle Developer Applications January 2000

 

1

Figure 1: Oracle Forms Server Architecture

THE ORACLE FORMS SERVER JAVA CLIENT 7KH2UDFOH)RUPV6HUYHU-DYDFOLHQWLVDJHQHULF-DYDDSSOHWWKDWLVDEOHWRGLVSOD\WKHXVHULQWHUIDFH RIDQ\2UDFOH)RUPVDSSOLFDWLRQDQGUHVSRQGWRXVHULQWHUDFWLRQVLQDKLJKO\RSWLPL]HGPDQQHU$ GHVFULSWLRQRIWKHXVHULQWHUIDFHLVWUDQVPLWWHGIURPWKH2UDFOH)RUPV6HUYHUWRWKH2UDFOH)RUPV 6HUYHU-DYDFOLHQWZKHQWKHDSSOLFDWLRQLVILUVWVWDUWHGDQGDVLWLVUXQ7KH2UDFOH)RUPV6HUYHU-DYD FOLHQWUHQGHUVLWVHOILQDFFRUGDQFHZLWKWKHXVHULQWHUIDFHGHVFULSWLRQFRQWDLQHGLQWKHPHVVDJHV$V WKHXVHULQWHUDFWVZLWKDSSOLFDWLRQPHVVDJHVDUHSDVVHGEDFNDQGIRUWKEHWZHHQWKH2UDFOH)RUPV 6HUYHU-DYDFOLHQWDQGWKH2UDFOH)RUPV6HUYHUXVLQJDQLQWHOOLJHQWV\QFKURQL]DWLRQPHFKDQLVP7KLV LQWHOOLJHQW V\QFKURQL]DWLRQ PHFKDQLVP HQDEOHV WKH PHVVDJHV WKDW DUH EHLQJ FUHDWHG E\ ERWK WKH 2UDFOH)RUPV6HUYHU-DYDFOLHQWDQGWKH2UDFOH)RUPV6HUYHUWREHEXIIHUHGDQGWKHQWUDQVPLWWHGDV D FRPSUHVVHG EXQGOH DW DSSURSULDWH V\QFKURQL]DWLRQ SRLQWV LQ WKH DSSOLFDWLRQ  7KH PHVVDJHV DUH FDFKHGRQERWKWKH2UDFOH)RUPV6HUYHU-DYDFOLHQWDQGWKH2UDFOH)RUPV6HUYHUZKLFKHQDEOHVRQO\ WKHFKDQJHVPDGHWRWKHPHVVDJHVWREHSDVVHGUDWKHUWKDQWKHHQWLUHPHVVDJH 7R SURYLGH WKLV PHVVDJH EXIIHULQJ DQG FDFKLQJ FDSDELOLW\ WKH 2UDFOH )RUPV 6HUYHU -DYD FOLHQW FRQWDLQV D VXE FRPSRQHQW FDOOHG WKH GLVSDWFKHU WKDW KDQGOHV WKH UHFHLSW DQG WUDQVPLVVLRQ RI DOO PHVVDJHVEHWZHHQWKH2UDFOH)RUPV6HUYHU-DYDFOLHQWDQGWKH2UDFOH)RUPV6HUYHU7KHGLVSDWFKHU ZLOOUHFHLYHPHVVDJHVVHQWWRWKHFOLHQWIURPWKHDSSOLFDWLRQUXQQLQJRQWKH2UDFOH)RUPV6HUYHUDQG WKHQ URXWH WKRVH PHVVDJHV GLUHFWO\ WR WKH VSHFLILHG XVHU LQWHUIDFH FRPSRQHQW  7KH XVHU LQWHUIDFH FRPSRQHQWZLOOWKHQLQWHUSUHWDQGDFWRQWKHPHVVDJH:KHQDXVHULQWHUIDFHFRPSRQHQWQHHGVWR Using Java Components in Oracle Forms Applications January 2000



2

VHQGFKDQJHGGDWDRUWKHGHWDLOVRIDQHYHQWRFFXUUHQFHWRWKHUXQQLQJDSSOLFDWLRQRQ2UDFOH)RUPV 6HUYHULWGRHVVRE\FUHDWLQJDPHVVDJHDQGKDQGLQJLWWRWKHGLVSDWFKHU7KHGLVSDWFKHUZLOOSODFH WKHPHVVDJHLQWRWKHPHVVDJHEXIIHUDQGFDFKHIRUVWRUDJHDQGGLII·LQJXQWLOLWLVIRUZDUGHGWRWKH VHUYHUDWDQDSSURSULDWHV\QFKURQL]DWLRQSRLQW

ORACLE FORMS JAVA UI COMPONENTS (DFK2UDFOH)RUPVQDWLYH8,FRPSRQHQWKDVDQHTXLYDOHQWUHSUHVHQWDWLYHLQ-DYD7KLVHQDEOHVWKH VDPHDSSOLFDWLRQWREHUXQLQHLWKHUFOLHQWVHUYHUPRGHRULQLQWHUQHWPRGHXQFKDQJHG7KH-DYD UHSUHVHQWDWLRQV RI WKH 2UDFOH )RUPV QDWLYH 8, FRPSRQHQWV DUH FUHDWHG XVLQJ WKH -DYD OLJKWZHLJKW FRPSRQHQWPRGHO8VLQJWKHOLJKWZHLJKWFRPSRQHQWPRGHOPHDQVWKDWWKH2UDFOH)RUPV-DYD8, FRPSRQHQWV DUH UHQGHUHG FRPSOHWHO\ UDWKHU WKDQ UHO\LQJ RQ WKH SHHU 8, REMHFWV SURYLGHG E\ WKH ZLQGRZLQJ V\VWHP RI WKH FOLHQW RSHUDWLQJ V\VWHP  7KLV PHDQV WKDW WKH 2UDFOH )RUPV -DYD 8, FRPSRQHQWV DSSHDU YLVXDOO\ WKH  VDPH DQG KDYH VLPLODU EHKDYLRU DFURVV GLIIHUHQW FOLHQW RSHUDWLQJ V\VWHPV (DFK2UDFOH)RUPV-DYD8,FRPSRQHQWLVLPSOHPHQWHGXVLQJWZRGLIIHUHQWFODVVHVD+DQGOHUFODVV DQGD9LHZFODVV7KLVWZRFODVVUHSUHVHQWDWLRQLVDYDULDWLRQRIWKHVWDQGDUG0RGHO9LHZ&RQWUROOHU GHVLJQ 09& SDWWHUQEXWVWLOODGKHUHVWRWKHJHQHUDOJRDORIVHSDUDWLQJWKHGDWDVWRUDJHDVSHFWIURP WKHYLVXDOGLVSOD\DVSHFW,QWKH2UDFOH)RUPV6HUYHUDUFKLWHFWXUHWKH+DQGOHUFODVVDFWVERWKDVWKH 0RGHODQG&RQWUROOHUZKLOVWWKH9LHZFODVVDFWVDVWKH9LHZ 7KH+DQGOHUFODVVLVUHVSRQVLEOHIRUERWKPDLQWDLQLQJWKHFXUUHQWYDOXHRIDQ\GDWDDQGFRQWUROOLQJ WKHYLVXDOUHSUHVHQWDWLRQRIWKHGDWD$OOVHUYHUEDVHGLQWHUDFWLRQZLWKWKH9LHZFODVVLVFRQGXFWHG WKURXJKWKH+DQGOHUFODVV7KH+DQGOHUFODVVPD\UHJLVWHULWVHOIDVDQHYHQWOLVWHQHUIRUHYHQWVWKDW DUH JHQHUDWHG E\ WKH 9LHZ FODVV  7KH +DQGOHU FODVV LWVHOI LQWHUDFWV GLUHFWO\ ZLWK WKH PHVVDJH GLVSDWFKHUWRVHQGDQGUHFHLYHPHVVDJHVWRDQGIURPWKH2UDFOH)RUPV6HUYHU 7KH 9LHZ FODVV LV VLQJXODUO\ UHVSRQVLEOH IRU SUHVHQWLQJ WKH GDWD WR WKH XVHU LQ VRPH PDQQHU DQG KDQGOLQJ XVHU LQSXW  7KH 9LHZ FODVV PD\ DOORZ WKH GDWD WR EH FKDQJHG E\ WKH XVHU  7KLV LV GHSHQGHQWRQWKHW\SHRI8,FRPSRQHQWWKH9LHZFODVVLVUHSUHVHQWLQJDQGWKHSURSHUWLHVLWKDVVHW 7KH 9LHZ FODVV SURSDJDWHV DQ\ GDWD FKDQJHV PDGH EDFN WR WKH +DQGOHU FODVV XVLQJ WKH -DYD HYHQW PRGHO

THE IVIEW INTERFACE 7RHQDEOHWKH+DQGOHUFODVVWRLQWHUDFWZLWKDQGFRQWUROWKH9LHZFODVVWKH9LHZFODVVLPSOHPHQWVD Using Java Components in Oracle Forms Applications January 2000



3

SXEOLF LQWHUIDFH oracle.forms.ui.IView  7KLV LQWHUIDFH GHVFULEHV DOO RI WKH PHWKRGV WKH +DQGOHU FODVV XVHV WR PDQDJH DQG LQWHUDFW ZLWK D 9LHZ FODVV LQFOXGLQJ OLIHF\FOH SURSHUW\ PDQLSXODWLRQHYHQWKDQGOLQJDQGFRPSRQHQWGLVSOD\PHWKRGV $Q\ -DYD FODVV WKDW LV WR EH XVHG ZLWKLQ WKH 2UDFOH )RUPV 6HUYHU -DYD FOLHQW PXVW SURYLGH DQ LPSOHPHQWDWLRQRIWKLVLQWHUIDFH$OO2UDFOH)RUPV-DYD8,FRPSRQHQWVLPSOHPHQWWKLVLQWHUIDFH %HFDXVH D 3OXJJDEOH -DYD &RPSRQHQW LV MXVW D GLIIHUHQW 9LHZ FODVV LW PXVW DOVR SURYLGH DQ LPSOHPHQWDWLRQRIWKLVLQWHUIDFH )LJXUHFRQWDLQVWKHGHILQLWLRQRIWKH,9LHZLQWHUIDFH  public void init(IHandler handler); 

7KLVPHWKRGLVFDOOHGLPPHGLDWHO\DIWHUWKHREMHFWLVFRQVWUXFWHG7KLVPHWKRGSDVVHVWKHREMHFWD UHIHUHQFHWRLW·V+DQGOHUDQGJLYHVLWDFKDQFHWRSHUIRUPDQ\LQLWLDOL]DWLRQWKDWLWUHTXLUHV  public void destroy(); 

WKLVPHWKRGLVFDOOHGZKHQWKHREMHFWLVQRORQJHUUHTXLUHG7KLVPHWKRGJLYHVWKHREMHFWDFKDQFHWR IUHHXSDQ\V\VWHPUHVRXUFHVWKDWLWKROGV  public Object getProperty(PropertyID id); 

7KLVPHWKRGUHWXUQVWKHYDOXHRIWKHUHTXHVWHGSURSHUW\(DFK9LHZFODVVPXVWVXSSRUWWKH SURSHUWLHVOLVWHGLQWKHIROORZLQJVHFWLRQV,IWKHUHTXHVWHGSURSHUW\LVQRWVXSSRUWHGE\WKLV2EMHFW WKLVPHWKRGPXVWUHWXUQQXOO  public boolean setProperty(PropertyID id, Object value); 

7KLVPHWKRGVHWVWKHYDOXHRIWKHVSHFLILHGSURSHUW\(DFK9LHZPXVWVXSSRUWWKHSURSHUWLHVOLVWHG LQWKHIROORZLQJVHFWLRQV,IWKHUHTXHVWHGSURSHUW\LVQRWVXSSRUWHGE\WKLV2EMHFWWKLVPHWKRG PXVWUHWXUQIDOVHRWKHUZLVHLWPXVWUHWXUQWUXH  public void addListener(Class type, EventListener listener); 

7KLVPHWKRGDGGVDOLVWHQHURIWKHVSHFLILHGW\SH7KHW\SHVRI/LVWHQHUWKDWHDFK9LHZW\SHPXVW VXSSRUWLVOLVWHGLQWKHIROORZLQJVHFWLRQV  public void removeListener(Class type, EventListener listener); 

7KLVPHWKRGUHPRYHVDOLVWHQHURIWKHVSHFLILHGW\SH7KHW\SHVRI/LVWHQHUWKDWHDFK9LHZW\SHPXVW VXSSRUWLVOLVWHGLQWKHIROORZLQJVHFWLRQV  public void paint(Graphics g); 

,QWKLVPHWKRGWKH9LHZPXVWSDLQWLWVHOIXVLQJWKH$:7*UDSKLFVREMHFWSURYLGHG)RUVXEFODVVHV RI&RPSRQHQWWKLVPHWKRGLVFDOOHGE\WKH&RPSRQHQW·V&RQWDLQHU)RURWKHU2EMHFWVWKLVPHWKRG ZLOOEHFDOOHGE\WKH2EMHFW·V+DQGOHU 

Using Java Components in Oracle Forms Applications January 2000



4

public void repaint(Rectangle r); 

,QWKLVPHWKRGWKH9LHZPXVWLQYDOLGDWHWKHUHFWDQJOHSURYLGHG,IWKHUHFWDQJOHLVQXOOWKHHQWLUH REMHFWVKRXOGEHLQYDOLGDWHG 

Figure 2: the IView interface definition

COMPONENT PROPERTIES 3URSHUWLHV DUH XVHG WR VSHFLI\ WKH UHTXLUHG EHKDYLRU DQG VWDWH RI D FRPSRQHQW  7KH EHKDYLRUDO DVSHFW GHILQHV KRZ WKH REMHFW LQWHUDFWV ZLWK WKH UXQQLQJ HQYLURQPHQW  $Q H[DPSOH RI WKLV LV WKH CAN_TAKE_FOCUSSURSHUW\IRUD7H[WILHOG,IWKLVLVVHWWRWUXHWKHQWKHFRPSRQHQWZLOOEHDEOHWR

DFFHSWWKHXVHULQSXWIRFXV,IWKLVLVVHWWRIDOVHWKHQWKHFRPSRQHQWZLOOQRWDFFHSWWKHIRFXV 2WKHUSURSHUWLHVFDQEHVSHFLILHGWRGHILQHDQGPDQLSXODWHWKHVWDWHRIWKHFRPSRQHQW8VLQJWKHVH SURSHUWLHVFRQWUROVKRZWKHREMHFWGLVSOD\V([DPSOHVRIWKLVW\SHRISURSHUWLHVZRXOGEHSURSHUWLHV VXFK DV BACKGROUND_COLOR ZKLFK ZRXOG GHILQH KRZ WKH FRPSRQHQW ORRNHG DQG FONT ZKLFK ZRXOGVSHFLI\WKHIRQWXVHGZKHQWKHFRPSRQHQWGLVSOD\VWH[WVWULQJV $VXEVHWRIWKHSURSHUW\VHWH[LVWVWKDWLVFRPPRQWRDOO2UDFOH)RUPV8,FRPSRQHQWV,QDGGLWLRQ WRWKLVVXEVHWRIFRPPRQSURSHUWLHVHDFKLQGLYLGXDO8,FRPSRQHQWW\SHKDVDGGLWLRQDOSURSHUWLHV WKDWLWVXSSRUWVWKDWVSHFLI\DGGLWLRQDOEHKDYLRUDQGVWDWHIRUWKDWVSHFLILFFRPSRQHQWW\SH $Q 2UDFOH )RUPV 8, FRPSRQHQW PXVW VXSSRUW WKH FRPPRQ VHW RI SURSHUWLHV DV ZHOO DV WKRVH SURSHUWLHVWKDWDUHVSHFLILFWRWKHW\SHRI8,FRPSRQHQWLWLV 3URSHUW\YDOXHVDUHPDQLSXODWHGWKURXJKWKHXVHRIDVHWWHUPHWKRG7KHYDOXHVRISURSHUWLHVDUH LQVSHFWHGXVLQJDJHWWHUPHWKRG7KHVHFRQYHQWLRQVDUHWDNHQIURPWKH-DYD%HDQQDPLQJVWDQGDUG $OO2UDFOH)RUPV-DYD8,FRPSRQHQWVDOORZWKHSURSHUWLHVWKDWDUHGHILQHGIRULWWREHVHWDQGJHW 7KLV LV GRQH WKURXJK WKH XVH RI WKH setProperty DQG getProperty PHWKRGV GHILQHG LQ WKH IView LQWHUIDFH

(DFKSURSHUW\UHJLVWHUHGIRUD2UDFOH)RUPV-DYD8,FRPSRQHQWLVFUHDWHGDQGVWRUHGZLWKLQWKH,' FODVV7KLVFODVV oracle.forms.properties.IDVWRUHVDVWDWLFLQVWDQFHRIWKHSURSHUW\ZKLFK FDQEHSDVVHGDURXQGDQGDFFHVVHGIURPWKHGLIIHUHQWPHWKRGVLQWKHIViewLQWHUIDFH 7KH,'FODVVFRQWDLQVDVWDWLFregisterPropertyPHWKRGWKDWDOORZVGHYHORSHUVWRFUHDWHDQG UHJLVWHUDGGLWLRQDOSURSHUWLHV:KHQDQHZSURSHUW\LVUHTXLUHGE\D3-&WKH ID.registerProperty PHWKRGLVLQYRNHGZLWKWKHQDPHRIWKHQHZSURSHUW\DVDSDUDPHWHU

7KHregisterProperty PHWKRGZLOOUHJLVWHUWKHQHZSURSHUW\RIWKHJLYHQQDPHZLWKWKH,' Using Java Components in Oracle Forms Applications January 2000



5

FODVVDQGUHWXUQDUHIHUHQFHWRLWWKDWFDQWKHQEHXVHGZLWKLQWKH-DYDFODVVWRLGHQWLI\WKHSURSHUW\DW DODWHUSRLQW  /** * Forms property registration - used to set the clock face color */ public static final ID p_FACE = ID.registerProperty("FACE");

Figure 3: Registering a new property

7KHQDPHXVHGWRFUHDWHWKHQHZSURSHUW\LVXVHGWRLGHQWLI\WKHSURSHUW\IURPWKH3/64/ HQYLURQPHQWRI)RUPVXVLQJWKH)RUPVEXLOWLQVDOORZLQJLWWREHSURJUDPPDWLFDOO\PDQLSXODWHGE\ DUXQQLQJDSSOLFDWLRQ  SET_CUSTOM_ITEM_PROPERTY(‘CLOCK_BEAN_ITEM’, ‘FACE’, ‘WHITE’);

Figure 4: Using new properties from PL/SQL  $UHIHUHQFHWRWKH,'FODVVLVSDVVHGWRWKHsetProperty and getPropertyPHWKRGVGHILQHGE\ WKH ,9LHZ FODVV WR LGHQWLI\ ZKLFK SURSHUW\ LV WR EH VHW DQGRU JHW RQ WKH 2UDFOH )RUPV -DYD 8, FRPSRQHQW7KHsetProperty or getPropertyPHWKRGSHUIRUPVWKHUHTXLUHGDFWLRQVWRVHWRU JHWWKHSURSHUW\IURPWKH3-&  /** * Set the property referenced in pid to the Object value * */ public boolean setProperty(ID pid, Object value) /** * Get the value of the property referenced in pid. * */ public Object getProperty(ID pid)

Figure 5: The setProperty and getProperty methods  Using Java Components in Oracle Forms Applications January 2000



6

:KHQWKHQHZSURSHUW\LVUHTXLUHGWREHVHWJHWWKH,'FODVVLGHQWLI\LQJWKHDGGLWLRQDOSURSHUW\LV SDVVHG WR WKH VHW3URSHUW\JHW3URSHUW\ PHWKRG RQ WKH -DYD%HDQ RU 3-& MXVW DV LI LW ZHUH D GHIDXOW SURSHUW\7KLVHQDEOHV3-&VWREHRSHUDWHLQH[DFWO\WKHVDPHPDQQHUDVWKH2UDFOH)RUPV-DYD8, FRPSRQHQWV

EVENTS 7KH-DYDHYHQWPRGHOLVXVHGE\2UDFOH)RUPV-DYD8,FRPSRQHQWVWRLQIRUPWKHLU+DQGOHUV DQG RWKHU LQWHUHVWHG SDUWLHV  ZKHQ VRPHWKLQJ RI LQWHUHVW KDV RFFXUUHG 7KH 2UDFOH )RUPV -DYD 8, FRPSRQHQWZLOODFWDVWKHHYHQWVRXUFHDQGZLOOVHQG RUILUH WKHHYHQWRIIWRDOOHYHQWOLVWHQHUV7KH +DQGOHU RURWKHULQWHUHVWHGSDUW\ ZLOODFWDVDQHYHQWOLVWHQHUDQGZLOOUHFHLYH RUKDQGOH WKHHYHQW :KHQDQXVHUHYHQWRFFXUVWKH2UDFOH)RUPV-DYD8,FRPSRQHQWZLOOILUHWKHHYHQWRQWKHHYHQW OLVWHQHU E\ LQYRNLQJ D PHWKRG RQ WKH OLVWHQLQJ REMHFW  7KLV VDPHHYHQWPRGHOLVXVHGE\3-&VWR LQWHUDFWZLWKWKHLU+DQGOHUFODVVHV 7KH IView LQWHUIDFH GHILQHV D JHQHULF PHWKRG IRU KDQGOLQJ WKH DGGLWLRQ DQG UHPRYDO HYHQW OLVWHQHUV  :KHQ D FRPSRQHQW ZLVKHV WR EH QRWLILHG RI HYHQWV WKDW DUH JHQHUDWHG E\ WKH 2UDFOH )RUPV-DYD8,FRPSRQHQWVLWUHJLVWHUVDVDQ(YHQW/LVWHQHUZLWKWKHFRPSRQHQW IView GHILQHV D VLQJOH HYHQW OLVWHQHU UHJLVWUDWLRQ PHWKRG addListener(Class

type,

EventListener listener)WKDWFRPSRQHQWVXVHWRUHJLVWHUWKHPVHOYHVWREHQRWLILHGRIHYHQWV

ZKHQWKH\RFFXU7KHW\SHRIHYHQWVWKDWWKHHYHQWOLVWHQHULVOLVWHQLQJIRULVLQGLFDWHGE\WKHILUVW SDUDPHWHU:KHQWKLVPHWKRGLVLQYRNHGWKH2UDFOH)RUPV-DYD8,FRPSRQHQWVWRUHVWKHOLVWHQHU REMHFW LQ VRPH LQWHUQDO VWRUDJH REMHFW  :KHQ WKH HYHQW W\SH IRU ZKLFK WKH OLVWHQHU KDV UHJLVWHUHG RFFXUVWKHFRPSRQHQWILUHVWKHHYHQWE\LQYRNLQJWKHDSSURSULDWHPHWKRGRQDOOOLVWHQHUVWKDWKDYH UHJLVWHUHGIRUWKDWW\SHRIHYHQW IView GHILQHV D VLQJOH HYHQW OLVWHQHU UHPRYDO PHWKRG removeListener(Class

type,

EventListener listener) WKDW FRPSRQHQWV XVH WR UHPRYH WKHPVHOYHV IURP EHLQJ QRWLILHG

ZKHQDQHYHQWRFFXUV:KHQWKLVPHWKRGLVLQYRNHGWKH2UDFOH)RUPV-DYD8,FRPSRQHQWUHPRYHV WKHOLVWHQHUREMHFWIURPWKHOLVWRIUHJLVWHUHGOLVWHQHUVLWILUHVHYHQWVRQ $FRPPRQVHWRIHYHQWOLVWHQHUVDUHXVHGE\DOORIWKH2UDFOH)RUPV-DYD8,FRPSRQHQWVDQG3-&V ,Q DGGLWLRQ WR WKH FRPPRQ VHW RI HYHQW OLVWHQHUV DGGLWLRQDO HYHQW OLVWHQHUV ZKLFK DUH VSHFLILFDOO\ UHODWHGWRWKHW\SHRIWKH8,FRPSRQHQWPD\QHHGWREHVXSSRUWHG)RUH[DPSOHD8,FRPSRQHQW WKDWLVWREHXVHGDVD TextField LWHPVKRXOGSURYLGHVXSSRUW TextListenerHYHQWOLVWHQHUV ZKLOH D 8, FRPSRQHQW WKDW LV WR EH XVHG DV D CheckBox LWHP VKRXOG SURYLGH VXSSRUW IRU ItemListenerHYHQWOLVWHQHUV Using Java Components in Oracle Forms Applications January 2000



7

USING JAVABEANS IN ORACLE FORMS APPLICATIONS 

2UDFOH )RUP %XLOGHU L HQDEOHV \RX WR LQWHJUDWH DQG XVH VWDQGDUG -DYD%HDQV LQ \RXU DSSOLFDWLRQV 7KH-DYD%HDQLVLQVWDQWLDWHGE\WKH2UDFOH)RUPV6HUYHU-DYDFOLHQWDWUXQWLPHZKLFKHQDEOHVLWWREH XVHGE\WKHDSSOLFDWLRQ$-DYD%HDQLVVLPSO\DQXQVSHFLDOL]HGW\SHRI3-&8QOLNHRWKHU3-&V VXFK DVD%XWWRQZKLFKNQRZVDERXWEHLQJSUHVVHG WKH-DYD%HDQKDVQRDVVXPHGEHKDYLRU $ -DYD%HDQ LV VSHFLILHG IRU XVH LQ WKH )RUP %XLOGHU XVLQJ D QHZ )RUPV LWHP BeanArea $ BeanArea LWHP LV D VSHFLDO LQVWDQFH RI D FXVWRP LWHP  $ BeanArea LWHP KDV D SURSHUW\ Implementation Class.7KLVSURSHUW\LVXVHGWRVSHFLI\WKHIXOO\TXDOLILHGQDPHRIWKH-DYDFODVVWKDW

WKH BeanAreaLWHPVKRXOGLQVWDQWLDWH:KHQWKH BeanAreaKDVWKHLPSOHPHQWDWLRQFODVVVSHFLILHG WKH)RUPEXLOGHUGLVSOD\VWKH-DYD%HDQZLWKLQWKHBeanAreaLWHPLQWKH/D\RXW(GLWRU

A JAVABEAN BECOMING A MANAGED COMPONENT $-DYD%HDQLVD3-&ZKLFKLVRIDQXQVSHFLDOL]HGW\SH/LNHDOORWKHU3-&VLQRUGHUWREHDEOHWREH PDQDJHGDQGFRQWUROOHGE\WKH)RUPVDSSOLFDWLRQDQLPSOHPHQWDWLRQRIWKHIViewFODVVPXVWEH SURYLGHG7KLVFDQEHGRQHGLUHFWO\E\WKH-DYD%HDQFODVVLWVHOIRUIRUWKH-DYD%HDQWKURXJKWKHXVH RIDKHOSHUFODVVDVRXWOLQHGEHORZ  •

7KH -DYD%HDQ FDQ LPSOHPHQW WKH ,9LHZ LQWHUIDFH DQG SURYLGH LPSOHPHQWDWLRQV IRU HDFK RI WKH PHWKRGVGHILQHGZLWKLQLW7KLVVXLWVVLWXDWLRQVZKHUH\RXDUHFUHDWLQJWKH-DYD%HDQVIURPVFUDWFK RU KDYH DFFHVV WR WKH VRXUFH FRGH   DQG ZKHUH WKH -DYD%HDQ ZLOO RQO\ HYHU EH XVHG LQD)RUPV HQYLURQPHQW  $ FRQYHQLHQFH FODVV KDV EHHQ SURYLGHG WR PDNH WKLV WDVN HDVLHU 7KH oracle.forms.ui.VBean FODVV SURYLGHV DQ HPSW\ LPSOHPHQWDWLRQ RI WKH ,9LHZ LQWHUIDFH