Vous êtes sur la page 1sur 2

Bueno, lo primero es que os leis el manual que tenis en la web de genlogic.

Hay un
apartado concreto:
http://www.genlogic.com/doc_html/glgpr-8.html#50642959_32882
que comenta los detalles de uso de glg toolkit con Java. Lo primero que se hace es
generar el fichero .g con la descripcin de la interfaz y que se genera con el Graphics
Builder (GDI mejor que OpenGL). Una vez echo esto, desde vuestro cdigo en java se
debe cargar el fichero en un objeto de la clase GlgJBean (para Swing):
glg_bean = new GlgJBean();
Para cargar el fichero g, este se debe incluir en la carpeta de fuentes (que luego se
empaqueta en el Jar correspondiente). En mi caso en la carpeta drawings:
private String signalGeneratorDrawingURL = "drawings/signal_generator.g";
luego se puede usar una funcion como esta para cargar el fichero g en el bean
(resource es el path relativo al fichero g):
private boolean loadDrawingFromJar(String resource, GlgJBean bean) {
URL resourceURL = this.getClass().getClassLoader().getResource(resource);
GlgObject glgO = null;
try {
// Load from jar file
glgO = GlgObject.LoadWidget(resourceURL.toString(), GlgObject.URL);
bean.SetViewport(glgO);
//glgO = bean.LoadObject(resourceURL.toString(), GlgObject.URL);

} catch (Exception e) {
// try from local
bean.SetDrawingName(resource);
}
return true;
}
El glgbean es un componente grfico que podis incrustar en
Panel, as que despus debis aadirlo al contenedor correspondiente.

un

Frame

Una vez creada la interfaz, se deben asignar los manejadores de eventos para los
componentes del glg. Los componentes se "nombran" con un path especfico, que
define la ruta de acceso al propio componente. Cada componente puede tener
subcomponentes y estos a su vez tambin.. Es importante que recordis los nombres
que les dais a los componentes, porque para acceder a sus propiedades (para
modificar/leer) es necesario usar el path de acceso al componente. Por ejemplo, en el
caso que os he dejado de ejemplo, tengo tres variables que definen la ruta al
componente:
private String signalSelectionDialResource = "SignalSelection/ValueX";
private String amplitudeKnobResource = "AmplitudeKnob/Value";
private String frequencyKnobResource = "FrequencyKnob/Value";
Para leer/modificar los valores de los componentes, se usan funciones como estas:
glg_bean.SetDResource(this.amplitudeKnobResource, amplitude_gui);
glg_bean.SetDResource(this.frequencyKnobResource, frequency_gui);
glg_bean.SetDResource(this.signalSelectionDialResource, type_gui);
el mtodo SetDresource se usa para modificar un Double (hay mas funciones)
asociado al valor del componente.
Para asignar manejadores de eventos, se debe implementar la interface
GlgInputListener. Esta interface (ver la doc de arriba) tiene un nico metodo que
recibe los parmetros del evento generado y que permite obtener informacin sobre
el componente que lo provoc (mirar de nuevo, la doc que se puso arriba). Es
importante comprobar que elemento provoc el evento, ya que se llama a esa funcin
para todos los eventos del GlgBean.
Espero haberlo dejado claro (al menos, algo).
Un saludo

Vous aimerez peut-être aussi