Skip to Main Content

Oracle Forms

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

JAVA BEAN AREA

vegetaMay 14 2007 — edited May 15 2007
Hi
I hope someone can help me!!

I have this java code:

package oracle.forms.rhlv;

import jcw.SHDocVw.*;
import oracle.forms.ui.*;
import oracle.forms.engine.Main;
import javax.swing.*;
import java.awt.*;

public class ExplorerBean extends JFrame implements com.inzoom.axjni.event.AxEventListener
, java.awt.event.ActionListener
{
final static String
cstrAppTitle="WebBrowser in a Swing Frame"
, cstrHomeButtonName="Home"
, cstrNGButtonName="Newsgroup"
, cstrEventOrigin="navigateComplete events here"
, cstrURLHome="http://portaldca.dca.pemex.com/sites/oag/Lists/Preguntas%20Frecuentes%20Sistemas%20OAG/AllItems.aspx"
, cstrURLNG="http://groups.yahoo.com/group/jacozoom/"
;
private oracle.forms.ui.ExtendedFrame ef ;

public ExplorerBean()
{
/* javax.swing.JFrame frm = new javax.swing.JFrame(cstrAppTitle);
frm.setDefaultCloseOperation(javax.swing.JFrame.DISPOSE_ON_CLOSE );
javax.swing.JPanel panelSouth = new javax.swing.JPanel();
m_lblStatus = new javax.swing.JLabel(cstrEventOrigin);
panelSouth.add(m_lblStatus);
m_jax = new com.inzoom.axjni.JActiveX("Shell.Explorer.1");
m_jax.addAxEventListener(this);
frm.getContentPane().add(m_jax,java.awt.BorderLayout.CENTER );
frm.getContentPane().add(panelSouth,java.awt.BorderLayout.SOUTH);
frm.setSize(640,480);
frm.setVisible(true);// show the frame */

javax.swing.JPanel frm = new javax.swing.JPanel();
m_jax = new com.inzoom.axjni.JActiveX("Shell.Explorer.1");
m_jax.addAxEventListener(this);
frm.setLayout(new BorderLayout(640,480));
frm.add(m_jax, BorderLayout.CENTER);

setContentPane(frm);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setSize(640,480);
setVisible(true);

}

//createButton
javax.swing.JButton createButton(String name,char mnemonic)
{
javax.swing.JButton btn = new javax.swing.JButton(name);
btn.setMnemonic(mnemonic);
btn.addActionListener(this);
return btn;
}

// com.inzoom.axjni.event.AxEventListener implementation
public void init(com.inzoom.axjni.event.AxEvent evt)
{
try
{
m_wb = WebBrowser.getWebBrowserFromUnknown(m_jax.getUnknown());
m_wb.navigate(cstrURLHome);
m_EventAdapter= new WebEventAdapter();
m_wb.addDWebBrowserEvents2Listener(m_EventAdapter);
}
catch(Exception ex)
{
if(m_lblStatus==null)
ex.printStackTrace();
else
m_lblStatus.setText(ex.toString());
}
}

public void done(com.inzoom.axjni.event.AxEvent evt)
{
try{ close(); }
catch(Exception ex)
{ ex.printStackTrace(); }
System.gc(); // only for memory leaks checking in debug mode
System.out.println("Done");
}

// java.awt.event.ActionListener
public void actionPerformed(java.awt.event.ActionEvent evt)
{
String strURL=null;
Object oBtn=evt.getSource();
if(oBtn instanceof javax.swing.JButton)
{
String strLabel = ((javax.swing.JButton)oBtn).getText();
if (strLabel.compareTo(cstrHomeButtonName)==0)
strURL=cstrURLHome;
else if (strLabel.compareTo(cstrNGButtonName)==0)
strURL=cstrURLNG;
}
if(strURL!=null)
doNavigate(strURL);
}

void doNavigate(String strURL)
{
if(m_wb==null) return ; // assert(true); can't navigate this time
try
{ m_wb.navigate(strURL); }
catch(Exception ex)
{
if(m_lblStatus==null)
ex.printStackTrace();
else
m_lblStatus.setText(ex.toString());
}
}

// my cleanup
void close() throws com.inzoom.comjni.ComJniException
{
if(m_wb!=null)
{
if( m_EventAdapter!=null)
{
m_wb.removeDWebBrowserEvents2Listener(m_EventAdapter);
m_EventAdapter=null;
}
m_wb.release();
m_wb=null;
}
if(m_jax!=null)
{
m_jax.release();
m_jax = null;
}
}

// main entry point
public static void main(String[] args)
{ ExplorerBean jWeb = new ExplorerBean(); }

class WebEventAdapter extends DWebBrowserEvents2Adapter
{
public void navigateComplete2(com.inzoom.comjni.IDispatch pDisp,com.inzoom.comjni.Variant[] URL)
{
System.out.println("navigateComplete2 " + URL[0]);
m_lblStatus.setText(URL[0].toString ());
}
}
// members
private com.inzoom.axjni.JActiveX m_jax;
private javax.swing.JLabel m_lblStatus;
private WebEventAdapter m_EventAdapter;
private WebBrowser m_wb;
}

Currently when I open the form at runtime the bean pops up as a separate 'window' and the form has an empty bean area. It works OK, but could some one tell me how to put inside the form's bean area and not let it float around

thanks in advance
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 12 2007
Added on May 14 2007
8 comments
847 views