Overblog
Suivre ce blog Administration + Créer mon blog
2 février 2006 4 02 /02 /février /2006 16:05

Purpose

This is a Javabean component that allow to enter a value from an input dialog box


imput dialog bean

The java code


package oracle.forms.fd;

import oracle.forms.handler.IHandler;
import oracle.forms.properties.ID;
import oracle.forms.ui.VBean;
import javax.swing.JOptionPane;

/**
 * A javabean input dialog box for Oracle Forms
 *
 * @author Francois Degrelle
 * @version 1.0
 */


public class InputDialog extends VBean {

    static String title = "" ;
    static String text  = "" ;
    static String result = "" ;
    static int    icon  = JOptionPane.QUESTION_MESSAGE ;
    private IHandler mHandler;
    private static final ID pSetTitle   = ID.registerProperty("SETTITLE");
    private static final ID pSetText    = ID.registerProperty("SETTEXT");
    private static final ID pGetString  = ID.registerProperty("GETSTRING");    

    public InputDialog() {
      super();
      try
      {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        SwingUtilities.updateComponentTreeUI(this);
      }
      catch (Exception ex)
      {
        ex.printStackTrace();
      }    
    }

    public void init(IHandler handler) {
        super.init(handler);
        mHandler = handler;
    }
 

    /**
     * Set the properties from Forms
     **/

    public boolean setProperty(ID id, Object value) {
        if (id == pSetTitle) { /** Set the title **/
            title = (String)value ;
            return true;
        }
        else if (id == pSetText) { /** Set the message and display the dialog box **/
            text = (String)value ;
            result = ShowDialog();
            return true;
        }
        else {
            return true;
        }
    }

  /**
   * Get the result string from Forms
   **/

  public Object getProperty(ID pId)
  {
    if (pId == pGetString)
    {
      return "" + result ;
    }
    else
    {
      return super.getProperty(pId);
    }
  } // getProperty()


    /**
     * Display the dialog box
     */

    public static String ShowDialog() {
 
        String sReturn = "" ;
        sReturn =  JOptionPane.showInputDialog(null, text, title, icon);
        if( sReturn == null ) return "" ;
        else return sReturn ;

    }

}


Forms configuration

  • Copy the inputdialog.jar file in the /forms/java directory
  • Sign the inputdialog.jar file with your own certificate
  • Edit the /forms/server/formsweb.cfg file to add the jar file to the archive_jinit variable
archive_jini=f90all_jinit.jar,……,inputdialog.jar


Implementation Class property

    oracle.forms.fd.InputDialog
 



Properties that can be set

Set the title of the message box

 
Set_Custom_Property( ‘BLOCK.BEAN_ITEM’, ‘SETTITLE’, ‘the_title’ ) ; 


Set the text of the message box

Set_Custom_Property( ‘BLOCK.BEAN_ITEM’, ‘SETTEXT’, ‘the_text’ ) ;


Properties that can be read

The returned string

:BLK.ITEM := Get_Custom_Property( ' BLOCK.BEAN_ITEM', 1, 'GETSTRING' ) ;



The sample dialog

  • Download the inputdialog.zip file
  • Unzip the inputdialog.zip file
  • Copy the inputdialog.jar file in your /forms/java/ directory
  • Edit your /forms/server/formsweb.cfg file
  • Open the inputdialog.fmb module (Oracle Forms 9.0.2)
  • Compile all and run the module

Partager cet article
Repost0
2 février 2006 4 02 /02 /février /2006 12:32

Purpose

The Show_Alert() Forms built-in allows to display any message in a popup modal window.
This built-in is limited to a maximum of 255 characters displayed.
This limitation cannot allow to display huge messages like trace/log message.

This is a Javabean component that allow to display messages with thousands of characters





The java code


package oracle.forms.fd;

import oracle.forms.handler.IHandler;
import oracle.forms.properties.ID;
import oracle.forms.ui.CustomEvent;
import oracle.forms.ui.VBean;
import javax.swing.JOptionPane;

/**
 * A dialog box for Forms that allow to output 1 up to 32767 characters
 *
 * @author Francois Degrelle
 * @version 1.0
 */


public class ShowMessage extends VBean {

    static String title = "" ;
    static String text  = "" ;
    static String icone = "" ;   
    static int    max   = 150 ;
    static int    icon  = JOptionPane.INFORMATION_MESSAGE ;
    private IHandler mHandler;
    private static final ID pSetTitle = ID.registerProperty("SETTITLE");
    private static final ID pSetText  = ID.registerProperty("SETTEXT");
    private static final ID pSetIcon  = ID.registerProperty("SETICON");
    private static final ID pSetSize  = ID.registerProperty("SETLINESIZE");
    private static final ID pShow     = ID.registerProperty("SHOW");   
    private static final ID pClear    = ID.registerProperty("CLEAR");       
 
    public ShowMessage() {
        super();
    }

    public void init(IHandler handler) {
        super.init(handler);
        mHandler = handler;
    }

    /**
     * Set the properties from Forms
     **/

    public boolean setProperty(ID id, Object value) {
        if (id == pSetTitle) { /** Set the title **/
            title = (String)value ;
            return true;
        }
        else if (id == pSetText) { /** Set the message **/
            text += (String)value ;
            return true;
        }
        else if (id == pClear) { /** Clear the text **/
            text = "" ;
            return true;
        }       
        else if (id == pSetSize) { /** Set max line size **/       
            max = new Integer((String)value).intValue() ;
            return true;
        }
        else if (id == pSetIcon) { /** Set the dialog box icon **/
            icone = (String)value ;
            if( icone.equals("I") )      icon = JOptionPane.INFORMATION_MESSAGE ;
            else if( icone.equals("E") ) icon = JOptionPane.ERROR_MESSAGE ;
            else if( icone.equals("P") ) icon = JOptionPane.PLAIN_MESSAGE ;
            else if( icone.equals("W") ) icon = JOptionPane.WARNING_MESSAGE ;
            return true;
        }       
        else if (id == pShow) { /** Display the dialog box **/
            text = Wrap_Text( text ) ;
            ShowDialog();
            return true;
        }               
        else {
            return true;
        }
    }


    /**
     * Display the dialog box
     */

    public static void ShowDialog() {

        JOptionPane.showMessageDialog(null, text, title, icon);

    }


     /**
     * Wrap the text if lines are too long
     */

    private String Wrap_Text( String sText )
    {
      String sWraped = "" ;
      String s1 = sText ;
      String s2 = "" ;
      int    l, x = 0 ;

      l = s1.length() ;
      if( l <= max ) sWraped = s1 ;
      else
      {
        while( l > 0 )
        {
          x = s1.indexOf("n") ;
          if( (x > 0) && (x <= max))
          {
            sWraped += s1.substring(0,x) ;
            s1 = s1.substring(x) ;
          }
          else
          {
            s2 = s1.substring(0, max-1) ;
            sWraped += s2 + "n" ;
            s1 = s1.substring(max-1) ;
          }

          l = s1.length() ;

          if( l <= max )
          {
            sWraped += s1 ;
            l = 0 ;
          }
        }
      }

      return sWraped ;     

    }    

}


Forms configuration

  • Copy the showmessage.jar file in the /forms/java directory
  • Sign the showmessage.jar file with your own certificate
  • Edit the /forms/server/formsweb.cfg file to add the jar file to the archive_jinit variable
archive_jini=f90all_jinit.jar,……,showmessage.jar


Implementation Class property

    oracle.forms.fd.ShowMessage


Properties that can be set

Clear the text

Set_Custom_Property( ‘BLOCK.BEAN_ITEM’, ‘CLEAR’, ‘’ ) ;

Set the title of the message box

 
Set_Custom_Property( ‘BLOCK.BEAN_ITEM’, ‘SETTITLE’, ‘the_title’ ) ; 

Set the icon style

Set_Custom_Property( ‘BLOCK.BEAN_ITEM’, ‘SETICON’, ‘icon_type’ ) ;

Where icon_type could be: 
 
  • I   Information
  • E   Error
  • P   Plain (no icon)
  • W   Warning
 


Set the maximum length of a line

 
Set_Custom_Property( ‘BLOCK.BEAN_ITEM’, ‘SETLINESIZE’, ‘max_size’ ) ; 

Set the text of the message box

Set_Custom_Property( ‘BLOCK.BEAN_ITEM’, ‘SETTEXT’, ‘the_text’ ) ;

Display the message box

Set_Custom_Property( ‘BLOCK.BEAN_ITEM’, ‘SHOW’, ‘’ ) ;



The sample dialog
 

  • Download the showmessage.zip file
  • Unzip the showmessage.zip file
  • Copy the showmessage.jar file in your /forms/java/ directory
  • Edit your /forms/server/formsweb.cfg file
  • Open the showmessage.fmb module (Oracle Forms 9.0.2)
  • Compile all and run the module

Partager cet article
Repost0
1 février 2006 3 01 /02 /février /2006 14:51
You have written some PJC/Bean of your own and would like to share it.

Write a document that contains the followings points:

  • . Some information about yourself
  • . A title that identify the component
  • . A purpose that describes in a few sentences the functionalities
  • . Eventually a screen shot of the result
  • . The java code of the component
  • . The Oracle Forms Implementation Class name
  • . The list of the properties that you can set
  • . The list of the properties that you can read
  • . The list of the events that can be raised by the bean
  • . Indication if the jar file have to be signed
  • . Eventually, a link to any material to download (.jar file, Forms modules, ...)

Send the doc to the following mail adress: forms.pjc.bean@free.fr
Partager cet article
Repost0