htmlPanel:oracle Forms的文本编辑器

htmlPanel:oracle Forms的文本编辑器《完整示例见附件》

 

 

/**
 *
 * @author XIVA
 */
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.text.html.HTMLEditorKit;
import oracle.forms.handler.IHandler;
import oracle.forms.ui.*;
import oracle.forms.properties.ID;

  /**
   *  HTML Styled JTextPane
   *
   * @author XIVA
   * @version 1.6
   */

public class HtmlPanel extends VBean
{
    protected static final ID pSetText    = ID.registerProperty("SET_TEXT");
    protected static final ID pSetEdit    = ID.registerProperty("SET_EDIT");
    protected static final ID pGetText    = ID.registerProperty("GET_TEXT");
    protected static final ID pLostFocus  = ID.registerProperty("BEAN_QUITTED");
    protected JTextPane     m_editor;
    protected HTMLEditorKit m_kit;  
    
    @Override
    public void init(IHandler handler)
    {
        super.init(handler);   
    }
  
  /**
   * Constructor 
   */
  public HtmlPanel()
  {
    super();
    
    // new JTextpane
    m_editor = new JTextPane();
    m_kit = new HTMLEditorKit();
    m_editor.setEditorKit(m_kit);

    JScrollPane ps = new JScrollPane(m_editor);
    add(ps);
    ps.setVisible(true);

  } 

  /******************************************
   *  Get the text content to return to Forms
   ******************************************/
    @Override
  public Object getProperty(ID pId)
  {
    if (pId == pGetText)
    {
      return "" + m_editor.getText();
    }
    else
    {
      return super.getProperty(pId);
    }
  } 

  /**********************************
   *  Set the text content from Forms
   **********************************/
  @Override
  public boolean setProperty(ID pId, Object pValue)
  {
    if (pId == pSetText) // set the user value
    {
      String s = (String)pValue ;
      m_editor.setText(s);
      return true;
    }    
    if (pId == pSetEdit) // set the edit flag
    {
      String s = (String)pValue ;
      if(s.equalsIgnoreCase("true")) m_editor.setEditable(true);
      else  m_editor.setEditable(false);
      return true;
    }        
    else
    {
      return super.setProperty(pId, pValue);
    }
  } 

} // HtmlPane

 主要扩展类VBean。

开发时,需要使用到下面的jar包。改包位于:D:\Oracle\Middleware\Oracle_FRHome1\forms\java

 

在forms中使用这个类时,需要将其打包为jar包,然后拷贝到D:\Oracle\Middleware\Oracle_FRHome1\forms\java路径下,然后在formsweb.cfg中更改:archive=frmall.jar,htmlpane.jar

formsweb.cfg文件的路径如下:

D:\Oracle\Middleware\user_projects\domains\ClassicDomain\config\fmwconfig\servers\AdminServer\

applications\formsapp_11.1.2\config

 

最好将路径D:\Oracle\Middleware\Oracle_FRHome1\forms\java,添加到path变量中,这样就可以使用这个类了,却不报找不到该类的警告。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值