Vous êtes sur la page 1sur 13

DOCENTE: SANCHES GARCIA CARLOS ALBERTO

ALUMNO: JESS GUADALUPE JIMNEZ


MARTNEZ
NMERO DE CONTROL: 14660237
CARRERA: INGENIERA EN SISTEMAS
COMPUTACIONALES
TRABAJO: INVESTIGACIN 4 COMPONENTES
VISUALES Y NO VISUALES

INDICE
INTRODUCCIN.....3
SNTESIS...3
CONTENIDO.....4
TABLA COMPARATIBA..10
CONCLUSIONES.11
BIBLIOGRAFA....11

INTRODUCCIN

La investigacin se realiz en base a los componentes visuales y no visuales del lenguaje


de programacin. Como antes se mencion existen dos tipos de componentes, los
visuales y no visuales. Estos dos poseen sus diferencias por ejemplo Los componentes no
visuales se pueden colocar en los formularios de la misma manera que los controles,
aunque en este caso su posicin es irrelevante y Un componente es visual cuando tiene
una representacin grfica en tiempo de diseo y ejecucin. Por ltimo se ver una tabla la cual
contiene algunos componentes visuales y no visuales del entorno de netbeans.

SNTESIS
El contenido expresa la funcionalidad de los componentes visuales y no visuales del lenguaje de
programacin, adems su implementacin, su utilidad y sus libreras a las cuales pertenecen. Por
otro lado explica cmo se puede usar la herencia en los componentes de una manera muy
explcita, su utilizacin bsica en una aplicacin grafica entre otras cosas como los componentes
que se encuentran en AWT y SWING

CONTENIDO

Se puede establecer muchas clasificaciones para los componentes. Una de ellas es la de visuales o
controles, frente a no visuales.
Un componente es visual cuando tiene una representacin grfica en tiempo de diseo
y ejecucin (botones, barras de scroll, cuadros de edicin, etc.), y se dice no visual en caso
contrario (temporizadores, cuadros de dilogo-no visibles en la fase de diseo, etc.). Por
lo dems no existen ms diferencias entre ellos, excepto, claro est, las derivadas de
la visualizacin del componente.
Los componentes no visuales se pueden colocar en los formularios de la misma manera que los
controles, aunque en este caso su posicin es irrelevante.
Para empezar, los componentes visuales podemos dividirlos a su vez en dos tipos:
-Componentes interactivos: permiten que el usuario final los manipule, ya sea introduciendo
datos, seleccionado elementos, etc. De forma que estos componentes pueden recibir el foco (con
SetFocus) as como los eventos propios del teclado y del ratn. Normalmente, el propio sistema
operativo es el encargado de dibujar el aspecto del componente, haciendo el componente las
llamadas correspondientes para que este aspecto cambie.
-Componente grficos: el propio componente es el encargado de dibujar en la pantalla lo que crea
oportuno, bien a travs de las funciones bsicas del API de Windows (con el objeto TCanvas) o bien
a travs de otras libreras grficas, como OpenGL, DirectX, etc. Estos componentes, no suelen
recibir eventos del usuario final, aunque si eventos del propio programador, ya que su cometido no
suele ir ms all de mostrar ciertos grficos o imgenes en la pantalla.
Si tuviramos que crear un componente interactivo desde el principio, sera demasiado complejo,
ya que tendramos que luchar encontrar el propio API del sistema operativo, gestionando sus
mensajes, las llamadas las funciones a bajo nivel, etc. Sin embargo, podemos aprovechar
la mayora del trabajo hecho por Borland en la VCL, y crear componentes interactivos a partir de
otros ya existentes, aplicado la tcnica de herencia.
Dado que un componente es un objeto como otro cualquiera, podremos aplicar en l todas
las tcnicas de la orientacin a objetos: encapsulacin, herencia y polimorfismo.
La encapsulacin ya la hemos utilizado sin apenas darnos cuenta, simplemente definiendo ciertos
atributos como privados, para que no puedan ser accedidos desde fuera de la clase, y
otros pblicos o publicados (pulished) para ser usados por el programador que utilice el
componente.
La herencia nos permite reutilizar cdigo, haciendo que una clase dada (que llamaremos clase
hija) adquirida a todos los atributos y mtodos pblicos y protegidos de otra, llamada clase
padre. De este mtodo, podemos aprovechar mucho cdigo escrito, simplemente heredando de
una clase ya escrita. Por si fuera poco, tambin es posible que una clase hijo tenga a su vez ms
descendencia, adquiriendo estos las caractersticas del padre y del "padre del padre", es decir: del
abuelo.
La tcnica de la herencia, aplicada a los componentes, nos permite personalizar cualquier
componente, o porque queremos ampliar las posibilidades del componente.

La propia VCL utiliza la herencia continuamente, bien para utilizar cdigo de clases padre, o bien
para ofrecernos clases padre de las que nosotros podemos heredar. Muchas "suites de
componentes" hacen tambin esto, proporcionando un componente heredando a partir de cada
uno de los bsicos, y aadiendo en estas nuevas caractersticas.
Para explicar cmo crear un componente interactivo, vamos a hacerlo a travs de un ejemplo
prctico: supongamos que necesitamos mostrar un rbol que muestre los directorios a partir de
una carpeta dada, incluso pongamos que necesitamos mostrar el tpico rbol de "MI PC",
mostrando todas las unidades y las carpetas de cada una.
Para ello, podramos escribir un componente desde cero, gestionando todo lo referente a la
estructura en rbol, el dibujo en pantalla, la gestin de mensajes, etc. Podramos utilizar la
herencia para utilizar el cdigo ya escrito, concretamente basndose en el componente
ATTreeVienw, que es el que nos permite mostrar en un formulario estructuras del tipo rbol. Sin
embargo, el TTreeVienw que viene por defecto en el Delphi, es muy genrico, y sirve para mostrar
cualquier tipo de rbol. Nuestro caso es ms especfico: necesitamos mostrar un rbol, s, pero
ms

concretamente

un

rbol

de

directorios.

Llamaremos

nuestra

nueva

creacin

TArbolDirectorios.
Slo vamos a fijarnos a partir TComponent:
TComponent: este nos resulta familiar, ya que es la clase a partir de la que hemos creado
en nuestro conversor de monedas de anteriores nmeros. Los componentes no-visuales deben
heredar directamente de TComponent, ya que este proporciona las caractersticas bsicas.
TControl: se trata de la clase padre para todos los componentes visuales, ya sean grficos o no.
TWinControl: de esta clase descendern todos los componentes dibujados directamente por
Windows. La principal caracterstica de estos objetos (llamados ventanas o Windows) es que estn
identificados por un nmero nico llamado descriptor o manejador de ventana (en ingls handle).
TCustomTreeView: se trata de la clase que permite mostrar un rbol dentro de un formulario de
Delphi. La peculiaridad es que esta clase no contiene ningn mtodo ni propiedad en la seccin
published, por lo que puedes ser manejada desde el entorno de Delphi.
TTreeView: esta ya es la clase o componente final, que aparece registrado en la paleta de
componentes, y que puede ser configurado en tiempo de diseo. En realidad, todo el trabajo de
esta clase se limita a publicar las propiedades y eventos que han sido programados en la clase
TCustomTreeVienw.
Ahora que ya sabemos quin va a ser el padre de nuestro componente, tenemos que decir qu
propiedades y eventos vamos a proporcionar a nuestros usuarios del componente.
CarpetaRaiz: se trata de una cadena que contendr la carpeta a partir de que se crear el rbol de
directorios. Puede ser la carpeta raz de una unidad de disco (p.e."C:\") para mostrar los directorios
de toda la unidad, o bien una carpeta cualquiera, para mostrar las subcarpetas de esta. Un caso se
dar cuando esta propiedad contenga el valor "Mi PC", con en el que mostraremos cada una de las
unidades disponibles en nuestro sistemas, pudiendo expandir estas unidades para mostrar sus
carpetas.
CarpetaActual: es el valor de tipo cadena que contiene la ruta de la carpeta seleccionada en el
rbol, por ejemplo. Si, por ejemplo, tenemos seleccionada la carpeta de primer nivel "Datos", y el

nodo raz es "C:\Temporal", esta propiedad contendr el valor "C:\Temporal\Datos". Tambin se


puede modificar su valor, seleccionndose en ese caso el modo correspondiente en el rbol (si el
valor establecido es correcto).
MostarPadre: es un valor booleano (true o false) que nos permite configurar la aparicin no del
nodo padre. Es decir: si en la propiedad "CarpetaRaiz" hemos introducido el valor "C:\Delphi", en
el rbol aparecer un nodo raz llamado "Delphi", y colgado de l, todas las dems subcarpetas. Si
establecemos esta propiedad a falso, el nodo raz desaparecer, mostrndose todas las
subcarpetas en un primer nivel, sin colgar de ningn nodo padre.
Una interfaz grfica est construida en base a elementos grficos bsicos, los componentes.
Tpicos ejemplos de estos componentes son los botones, barras de desplazamientos, etiquetas,
listas, cajas de seleccin o campos de textos. Los componentes permiten al usuario a interactuar
con la aplicacin y proporcionar informacin desde el programa al usuario sobre el estado del
programa. En el AWT, todos los componentes de la interfaz de usuario son instancias de la clase
componente

uno

de

sus

subtipos.

Los componentes no se encuentran aislados, si no agrupados dentro de contenedores. Los


contenedores contienen y organizan la situacin de los componentes y como tales pueden ser
situados dentro de otros contenedores. Tambin contienen el cdigo necesario para el control de
eventos, cambiar la forma del cursor o modificar el icono de la aplicacin. En el AWT todos los
contenedores

son

instancias

de

la

clase

Container

uno

de

sus

subtipos.

La clase componente es una clase abstracta que representa todo lo que tiene una posicin, un
tamao, puede ser pintado en pantalla y puede recibir eventos. No tiene constructores pblicos, ni
puede ser instanciada. Sin embargo, la clase Component puede ser extendida para proporcionar
una nueva caracterstica incorporada a java, conocida como componentes ligeros o Lightweight.
Los objetos derivados de la clase Component que se incluyen en el abstract window Toolkit son los
que

aparecen

Button

Label

Canvas

List

Checkbox

Scrollbar

Choice

continuacin:

TextComponent

Container

TextArea

Panel

TextField

Window
Dialog
Frame
Sobre estos componentes se podrn hacer ms agrupaciones y quiz la ms significativa fuese la
que diferencie a los componentes segn el tipo de entrada. A si habra componentes con entrada
de tipo no-textual como los botones de pulsacin (Button), las listas (List), botones de marcacin

(checkbox), botones de seleccion (Choice), y botones de comprobacin (CheckboxGroup);


componentes de entrada y salida textual como los campos de texto (TextField), las reas de texto
(TextArea) y las etiquetas (Label); y, otros componentes sin acomodo fijo en ningn lado, en donde
se encontraran componentes como las barras de desplazamiento(Scrollbar), zonas de dibujo
(Canvas) e incluso los contenedores (Panel, Window, Dialog y Frame), que tambin pueden
considerarse

como

componentes.

La clase Button es aquella que produce un componente de tipo botn con un ttulo. El constructor
ms utilizado es el que permite pasarle como parmetro una cadena, que ser la que aparezca
como

ttulo

identificador

del

botn

Botones

en

la

interfaz

de

de

usuario.
seleccin

Los botones de seleccin (Choice) permiten el rpido acceso a una lista de elementos,
presentndose

como

ttulo

en

el

item

que

se

encuentre

seleccionado.

La clase choice extiende la clase component e implementa la interfaz ItemSelectable, que es


aquella que mantiene un conjunto de items en los que puede haber, o no, alguno seleccionado.
Botones

de

comprobacin

La clase CheckBox extiende la clase Componet e implementa la interfazItemSelectable, que es


aquella que contiene un conjunto de tems entre los que puede haber o no alguna seleccionado.

Los botones de comprobacin (Checkbox) se puede agrupar para formar una interfaz
de botn de radio
(CheckboxGroup),
que
son
agrupaciones
de
botones
de comprobacin de exclusin mltiple es decir, en la que siempre hay un nico botn activo.
Creacin

de

componentes

VCL

(I)

Componentes
no-visuales
En los ltimos aos, el desarrollo basado en componentes se ha convertido en una de las tcnicas
de programacin con ms xito. Aqu vamos a aprender a crear componentes similares a los de la
VCL,
para
que
otros
puedan
utilizar
nuestro
cdigo
en
Delphi.
Una de las piedras angulares del desarrollo en entornos RAD, como Delphi, es la programacin
basada en componentes. En estos entornos, la labor de un programador se parece ms a la de un
ensamblador de piezas de software que la de un constructor de software. Con esto
conseguimos mayor rapidez de desarrollo, y sobre todo, mayor simplicidad, ya que slo tenemos
que saber cmo montar esas piezas para que nuestro programa funcione. Delphi fue uno de los
primeros entornos en aplicar con xito esta filosofa, y hoy en da son muchos los que apuestan
por esta idea, como por ejemplo Microsoft con su lenguaje de programacin C#.
En Delphi, la orientacin a componentes se consigue a travs de una librera bsica llamada VCL,
que significa Librera de Componentes Visuales (Visual Component Library). Esta librera,
adems de proporcionar los componentes ms bsicos (como botones, etiquetas de texto, cuadros
combinados, etc.), nos ofrece los mecanismos para crear nuestros propios componentes.
Pero...
qu
es
un
componente?
Para explicar esto debemos conocer, al menos bsicamente, la programacin orientada a objetos,

ya que la programacin basada en componentes se apoya sobre ella. Vamos a suponer que todo el
mundo
sabe
lo
que
son
las
clases,
con
sus
atributos
y
sus
mtodos.
Programacin
Orientada
a
Objetos
La programacin orientada a objetos, comnmente POO o en ingls OOP, es un modelo de
programacin que estructura los programas dando ms nfasis a los datos que a los
procedimientos. En la programacin procedural (la de Pascal, C, Basic, etc.) se utilizan funciones
que hacen algo con los datos. Sin embargo en la POO (con C++, Java, Object Pascal, etc.) se
utilizan
objetos
(datos)
que
hacen
cosas.
Si queris aprender ms sobre POO, podis consultar la seccin bsica, donde explicaremos paso a
paso
la
programacin
orientada
a
objetos.
Un componente es una clase de uso especfico, lista para usar, que puede ser configurada o
utilizada
de
forma
visual,
desde
el
entorno
de
desarrollo.
La principal diferencia, respecto a una clase normal, es que la mayor parte del trabajo lo podemos
hacer de forma visual, con el ratn y ajustando las opciones que se nos ofrece en nuestro entorno.
En la programacin orientada a objetos, debemos codificar una serie de operaciones, ms o
menos laboriosas, para preparar los objetos para su uso. Programar estas operaciones requiere su
tiempo, su complejidad y pueden ser origen de errores. Sin embargo, en la programacin basada
en componentes, todas estas operaciones las realizamos de forma visual, para as poder dedicar la
atencin
a
nuestro
problema.
Tipos
de
componentes
Aunque hay muchos tipos, podemos diferenciar claramente dos grupos: Visuales y No visuales
Los componentes visuales son aquellos que, al utilizarlos, muestran algn elemento (o dibujo) en
la pantalla y es el usuario de nuestros programas el que interacta con l. El componente es el
principal responsable de dibujar en la pantalla lo que sea oportuno, dependiendo de su estado, del
valor de sus atributos, etc. Hay muchos componentes de este tipo, como pueden ser los botones
(TButton), etiquetas de texto (TLabel), formas (TShape), etc.

EJEMPLO:
PROGRAMA:
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Java1403{
public static void main( String args[] ){
//Se instancia un objeto Interfaz Hombre-Mquina
IHM ihm = new IHM();
}
}
// Clase de la Interfaz grfica
Class IHM {
// Constructor de la clase
public IHM() {

// Se crea un objeto CheckboxGroup


CheckboxGroup miCheckboxGroup = new CheckboxGroup();
//Ahora se crea un objeto Button y se registra un objeto
//ActionListener sobre l
Button miBoton = new Button( "Aceptar" );
miBotton.addActionListener(
new MiActionListener ( miCheckboxGroup ) );
// Se crea un objeto Frame para contener los objetos Checkbox y el
// objeto Button. Se fija un Flowlayout, se incorporan a l los
// objetos, se fija el tamao y se hace visible
Frame miFrame = new Frame ( " Tutorial de Java, AWT " );
miFrame.setLayout( new FlowLayout() );
miFrame.add( new Checkbox( "A", true,miCheckboxGroup ) );
miFrame.add( new Checkbox( "B", false,miCheckboxGroup ) );
miFrame.add( new Checkbox( "C", false,miCheckboxGroup ) );
miFrame.add( new Checkbox( "D", false,miCheckboxGroup ) );
miFrame.add( miBoton );
miFrame.setSize( 250,100 );
miFrame.setVisible( true );
//Instanciamos y registramos un receptor para terminar la
//ejecucin de la aplicacin, cuando el usuario cierre la
//ventana
miFrame.addWindowListener( new Conclusion() );
}
}
// Esta clase indica la caja de seleccin que esta seleccionada
// cuando se pulsa el botn de Aceptar
class MiActionListener implements ActionListener {
CheckboxGroup oCheckBoxGroup;
MiActionListener( CheckboxGroup checkBGroup ) {
oCheckBoxGroup = checkBGroup;
}
public void actionPerformed( ActionEvent evt ) {
System .out.println( oCheckBoxGroup.getSelectedCheckbox().getName()+
" " + oCheckBoxGroup.getSelectedCheckBox().getLabel () );
}
}
//Concluye la aplicacin cuando el usuario cierra la ventana
class Conclusion extends WindowAdapter {

public void windowClosing( WindowEvent evt ) {


System.exit( 0 );
}
}

10

NOMBRE
COMPONENTE

DEL

TIPO
COMPONENTE

DE

USO
O
FUNCION
ESPECIFICA

CONSTRUCTORES
timer = new
Timer(ONE_SECOND,
new TimerListener());

temporizador

No visual

Iniciar accin futura

Botones

visible

Dar clic para comenzar una

JButton()

funcin

de

Scrollbar()

Barras de scroll

visible

Barras
desplazamiento

Cuadros de dialogo no

No visual

desconocida

Label

visible

Aadir algn texto

JLabel()

Check box

Visible

Establecer opcin de
control

Checkbox()

Combo box

Visible

Elegir en entre varios


datos o valares

JComboBox()

Text rea

Visible

Escribir texto plano

JTextArea()

Progress bar

Visible

Indica que se a hecho


algn progreso

JProgressBar()

Spinner

Visible

Optimizacin y
reutilizacin de cdigo

JSpinner()

Editor pane

Visible

Abrir documentos en
texto palno

JEditorPane()

Radio buton

visible

Seleccionar una opcin


de varias

JRadioButton()

List

Visible

Mostrar datros en lista

JList()

Formatted field

Visible

Formato al texto plano

JFormattedField()

Separator

visible

Tree

Visible

Mostrar el rbol de algn


mtodo

JTree()

Toggle button

Visible

Puede usarlo como un


conmutador
de
encendido/apagado

JToggleButton()

button group

Visible

Comunicar un grupo de
radio buttons

JButtonGroup()

visibles

JSeparator()

PUNTO 4. TABLA

11

CONCLUSIN:
Concluyo que los componentes visuales y no visuales son esenciales para la creacin de
interfaces graficas ya que juegan un papel muy importante ya que se utilizan junto con
las libreras awt y swing. Por ultimo quiero agregar que esta investigacin me ayudo un
poco para entender que es lo que se ver ms adelante en el curso.
La verdad concluyo que hay muy poca informacin relacionada sobre los componentes no
visuales y la verdad no tengo idea porque, a pesar que me avente 1 da en estar
buscndolo. (Est es mi opinin).

BIBLIOGRAFA:

https://www.google.com.mx/#q=conclusion+componentes+visuales+y+no+visuales

http://es.slideshare.net/jabenitez88/3creacion-de-componentes-visuales

https://docs.oracle.com/javase/7/docs/api/javax/swing/JProgressBar.html

http://codigo--java.blogspot.mx/2014/05/uso-basico-de-elementos-swing-con_21.html

Vous aimerez peut-être aussi