Overblog
Suivre ce blog
Editer l'article Administration Créer mon blog
30 mai 2007 3 30 /05 /mai /2007 14:50

Purpose

Here is a Java Bean that allows handling frames at runtime.
Almost everything about frames can by handled.

With this single bean, you can create and handle as many frames as needed.

This Bean needs at least the Sun Java plugin 1.4

 

Dynamic Frames

Dynamic Frames

What you can do with these frames:

  • Create, move, modify, show, hide and remove
  • Set the border width, color, shadow color and rounded corners.
  • Set the title font, color and alignment. It can be on top, on left, on right or on bottom border line.
  • Set the frame inside color or gradient

 

The Implementation Class property

   oracle.forms.fd.frame


 

The Java code

    frame.java


 

The properties you can set

 

Each property takes a frame name as its first argument.
It is, so, easy to reuse this name to set the properties for the desired frame.

 


SET_FRAME
create the frame (must be used first)

Set_Custom_Property('BL.BEAN',1,'SET_FRAME','properties') ;

properties:
   name, border_width, title, font, font_size, font_weight [,title_pos, alignment]

title_pos can be:

  • top
  • bottom
  • left
  • right

alignment can be:

  • left
  • center
  • right

Set_Custom_Property('BL.BEAN',1,'SET_FRAME','F1,3,Frame Title,Arial,16,B,top,center') ;


SET_FRAME_TEXT
Set the frame title and eventually the position.

Set_Custom_Property('BL.BEAN',1,'SET_FRAME_TEXT','properties') ;

properties:
   name, title [,title_pos, alignment]

title_pos can be:

  • top
  • bottom
  • left
  • right

alignment can be:

  • left
  • center
  • right

Set_Custom_Property('BL.BEAN',1,'SET_FRAME'_TEXT,'F1,Frame Title,top,center') ;


SET_FRAME_TEXT_ALIGNMENT
Set the frame title position.


Set_Custom_Property('BL.BEAN',1,'SET_FRAME_TEXT_ALIGNMENT','properties') ;

properties:
   name, title_pos, alignment

title_pos can be:

  • top
  • bottom
  • left
  • right

alignment can be:

  • left
  • center
  • right

Set_Custom_Property('BL.BEAN',1,'SET_FRAME_TEXT_ALIGNMENT','F1,top,center') ;


SET_FRAME_TEXT_OPAQUE
Indicate if the title background is opaque or not

Set_Custom_Property('BL.BEAN',1,'SET_FRAME_TEXT_OPAQUE','frame_name, true|false') ;

Set_Custom_Property('BL.BEAN',1,'SET_FRAME_TEXT_OPAQUE','F1,false') ;

 


SET_FRAME_FONT
Set the title font

Set_Custom_Property('BL.BEAN',1,'SET_FRAME_FONT','properties') ;

properties:
   name, font_name [,font_size [,font_weight ] ]

font_weight can be:

  • N (Normal)
  • B (Bold)
  • I (Italic)
  • BI (Bold+Italic)

Set_Custom_Property('BL.BEAN',1,'SET_FRAME_FONT','Arial,14,B') ;


SET_FRAME_BACKGROUND
Set the inside frame background


Set_Custom_Property('BL.BEAN',1,'SET_FRAME_BACKGROUND','properties') ;

properties:
   name, color1 [,color2 [, transparency_level]]

colors are exprimed as RxxxGxxxBxxx syntax.
If the first color is given, it represents the plain background color
If  you specify the two colors, it represents a gradient from color1 to color 2
Transparency_level must be a flot between 0.0 (full tra,sparency) and 1.0 (opaque)
If you provide a transparency_level but no second color, put - in place of color2

-- plain red background --
Set_Custom_Property('BL.BEAN',1,'SET_FRAME_BACKGROUND','F1,r255g0b0') ;
-- gradient background from white to red --
Set_Custom_Property('BL.BEAN',1,'SET_FRAME_BACKGROUND','F1,r255g255b255,r255g0b0') ;
-- plain red background with .3 transparency level --
Set_Custom_Property('BL.BEAN',1,'SET_FRAME_BACKGROUND',' F1,r255g0b0,-,.3') ;


SET_FRAME_COLORS
Set the border frame colors


Set_Custom_Property('BL.BEAN',1,'SET_FRAME_FONT','properties') ;

properties:
   name, color1 [,color2]

colors are exprimed as RxxxGxxxBxxx syntax.
color1 is the frame color
color2 is the frame shadow color

-- set frame color without shadow --
Set_Custom_Property('BL.BEAN',1,'SET_FRAME_COLORS','F1,r200g200b200') ;
-- set frame color with shadow --
Set_Custom_Property('BL.BEAN',1,'SET_FRAME_COLORS','F1,r255g255b255,r120g120b120') ;


SET_FRAME_GRADIENT_ORIENTATION
Set the frame inside gradient orientation

Set_Custom_Property('BL.BEAN',1,'SET_FRAME_BACKGROUND','F1,orientation') ;

orientation can be:

  • LeftToRight
  • RightToLeft
  • UpToDown
  • DownToUp


Set_Custom_Property('BL.BEAN',1,'SET_FRAME_BACKGROUND','F1,LeftToRight') ;


SET_FRAME_ROUND_BORDER
Tell if the frame border is rounded or not

By default, the frame is created with no rounded border.

Set_Custom_Property('BL.BEAN',1,'SET_FRAME_ROUND_BORDER','F1, true|false') ;

Set_Custom_Property('BL.BEAN',1,'SET_FRAME_ROUND_BORDER','F1,true') ;


SET_FRAME_BOUNDS
Set the frame bounds

This method have to be used just after the SET_FRAME method

Set_Custom_Property('BL.BEAN',1,'SET_FRAME_BOUNDS','name,properties');

Properties:
   x_position, y_position, width, height

Set_Custom_Property('BL.BEAN',1,'SET_FRAME_BOUNDS','F1,10,10,300,200');


SET_FRAME_HCYCLE
Set the horizontal cycle factor for a gradient frame color


Set_Custom_Property('BL.BEAN',1,'SET_FRAME_HCYCLE','properties');

properties:
   name, cycle_value

cycle_value can be expressed in number of pixel or divisor_factor

-- Horizontal cycle that repeat twice in the frame --
Set_Custom_Property('BL.BEAN',1,'SET_FRAME_HCYCLE','F1,/2');


SET_FRAME_VCYCLE
Set the vertical cycle factor for a gradient frame color


Set_Custom_Property('BL.BEAN',1,'SET_FRAME_VCYCLE','properties');

properties:
   name, cycle_value

cycle_value can be expressed in number of pixel or divisor_factor

-- Vertical cycle that repeat each 50 pixels --
Set_Custom_Property('BL.BEAN',1,'SET_FRAME_VCYCLE','F1,50');

 

SET_FRAME_TITLE_COLOR
Set the frame title color


Set_Custom_Property('BL.BEAN',1,'SET_FRAME_TITLE_COLOR','properties');

properties:
   name, foreground_color [,background_color]

-- set a blue foreground title color
Set_Custom_Property('BL.BEAN',1,'SET_FRAME_TITLE_COLOR','F1,r0g0b255');


SHOW_FRAME
Show the given frame


Set_Custom_Property('BL.BEAN',1,'SHOW_FRAME','name, true|false');


HIDE_FRAME
Hide the given frame

Set_Custom_Property('BL.BEAN',1,'HIDE_FRAME','name, true|false');

 


REMOVE_FRAME
Remove the given frame

Set_Custom_Property('BL.BEAN',1,'REMOVE_FRAME','name');

 


REMOVE_ALL_FRAMES
Remove all frames


Set_Custom_Property('BL.BEAN',1,'REMOVE_ALL_FRAMES','');


Full example:

  -- create the frame --
  Set_Custom_Property('BL.BEAN',1,'SET_FRAME','F1,3, Frame Title ,Arial,16,B,top,center') ;
  -- set the bounds --
  Set_Custom_Property('BL.BEAN',1,'SET_FRAME_BOUNDS','F1,10,10,320,180') ;
  -- set the title color --
  Set_Custom_Property('BL.BEAN',1,'SET_FRAME_TITLE_COLOR','F1,r204g0b0') ;
  -- set the inset frame colors --
  Set_Custom_Property('BL.BEAN',1,'SET_FRAME_BACKGROUND','F1,r255g255b255,r204g0b0') ;
  -- set the vertical gradient cycle --
  Set_Custom_Property('BL.BEAN',1,'SET_FRAME_VCYCLE','F1,/2') ;
  -- set a rounded border --
  Set_Custom_Property('BL.BEAN',1,'SET_FRAME_ROUND_BORDER','F1,true') ;
  -- set the frame border colors --
  Set_Custom_Property('BL.BEAN',1,'SET_FRAME_COLORS','F1,r204g0b0,r180g180b180') ;


 

The sample dialog

     . Download the frames.zip file
     . Unzip the file
     . copy the frame.jar files in the <ORACLE_HOME>/forms/java directory
     . Edit your /forms/server/formsweb.cfg file
     . Open the frame.fmb module (Oracle Forms 9.0.2)
     . Compile all and run the module

 

Partager cet article

Published by Oracle Forms community - dans Bean - general
commenter cet article

commentaires