Cuando utilizamos Oracle Forms para crear aplicaciones nos encontramos con algunas limitaciones. No obstante, Oracle Forms nos permite incluir aplicaciones desarrolladas en Java (Bean) dentro del propio Forms.
Incluir una imagen en Oracle Forms
En este caso queríamos incluir una imagen en Oracle Forms, y al ejecutarla desde Forms, Forms reduce tanto la resolución de la imagen como el número de colores.
Como no quedaba muy bien después de que Forms degradadase la imagen, hemos utilizado un Bean para llamar a la imagen original y así no Forms no tratará la imagen, dejando la imagen la calidad de la imagen original intacta.
La imagen de arriba muestra la imagen incluida en el Forms, mientras que la imagen de abajo sería el resultado de incluirla en un java Bean, así no perderá propiedades y se mostrará con la calidad original.
Este el código que he utilizado para incluir la imagen, solo tenéis que incluir vuestra imagen y cambiar los tamaños en el código.
Código
Clase Marco
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | package mypackage; import java.beans.PropertyChangeEvent; import javax.swing.JFrame; import oracle.forms.ui.VBean; import oracle.forms.handler.IHandler; public class Marco extends VBean { //private JFrame framep = new JFrame(); private IHandler m_handler; Banner been; public Marco() { // framep.setVisible(true); } public void init(IHandler handler) { m_handler = handler; super.init(handler); been = new Banner(); this.add(been); this.setVisible(true); } public void propertyChange(PropertyChangeEvent evt) { // TODO Auto-generated method stub } } |
Clase Banner
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | package mypackage; import javax.swing.ImageIcon; import javax.swing.JPanel; import java.awt.*; public class Banner extends JPanel { private Image imgFondo; public Banner(){ ImagenFondoPanel(); } public void ImagenFondoPanel() { preInit(); } private void preInit(){ imgFondo = new ImageIcon(getClass().getResource("imagen2.png")).getImage(); } protected void paintComponent(Graphics g) { g.drawImage(imgFondo,00,00,null); } } |
Integrar un java Bean en Oracle Forms
Si necesitas saber cómo incluir un Java Bean en tu aplicación sigue los siguientes pasos:
1- Copia el bean.jar dentro del directorio /forms/java
2- Edita el archivo formsweb.cfg y añadimos el bean.jar.
# Forms applet archive setting for JInitiator
archive_jini=f90all_jinit.jar, archivo.jar
# Forms applet archive setting for Microsoft Internet Explorer native
JVM archive_ie=f90all.cab, archivo.jar
3- Añadimos el Bean dentro de la pantalla (.fmb) y ponemos la ruta y el nombre del bean.jar
4- Dentro de la pantalla en tu editor de forms builder , navegamos hasta las propiedades del Bean, y en “Clases de implementación” añadimos: oracle/forms/archivo (sin la extensión).
Si quieres el código completo puedes descargártelo aquí
El password del zip es www.codifica.me