Escolar Documentos
Profissional Documentos
Cultura Documentos
Carrera
Ingeniería en Ciencias de la Computación
Asignatura
Programación II
Trabajo
Reporte de los entornos gráficos
Catedrático
José Andrés Vázquez Flores
Integrantes
Ricardo Camacho Garza
David Limón Cantú
Fecha de entrega
Heroica Puebla de Zaragoza a 23 de Noviembre del 2012
1
INDICE
Contenido
Interfaces gráficas .......................................................... 3
AWT .......................................................................... 3
SWING ...................................................................... 4
JFrame ....................................................................... 5
JDialog ...................................................................... 6
JWindow ...................................................................... 6
JTextField ................................................................... 8
JTextArea .................................................................... 9
JPasswordField .............................................................. 10
JEditorPane ................................................................. 11
JTextPane: .................................................................. 12
JMenuBar y JMenu: ........................................................... 12
JMenuItem: .................................................................. 13
JPopupMenu: ................................................................. 14
JCheckBokMenuItem, JRadioButtonMenuItem y JSeparator: ....................... 16
Sub Ventanas: ............................................................... 24
JPanel ...................................................................... 24
2
Interfaces gráficas
Es el conjunto de componentes gráficos que facilitan la comunicación entre el
usuario y el programa, estos pueden ser:
Ventanas
Botones
Cuadros de diálogo
Campos de texto
Etc…
AWT:
3
Java implemente otra serie de clases, las cuales heredan a las clases de AWT,
las cuales permiten la creación de interfaces gráficas más complejas.
SWING:
Java Swing hereda las clases de AWT, pero incorpora métodos y clases más
avanzadas que facilitan la creación de interfaces gráficas, son fáciles de
identificar gracias al prefijo “J”.
4
JFrame
Sintaxis:
Ejemplo:
ventanaPrinc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /* Establece el
comportamiento de la ventana al presionar el botón cerrar o terminar la
aplicación, esto para que se cierre correctamente y sin errores*/
/*Parámetros de setDefaultCloseOperation:
es 0
5
JDialog
Sintaxis:
Ejemplo:
ventanaPrinc.setVisible(true);
ventanaPrinc.setSize(320, 240);
ventanaPrinc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JWindow
Sintaxis:
JWindow (Window owner, GraphicsConfiguration gc)
Ejemplo:
6
JFrame ventanaPrinc = new JFrame("Ventana Nueva :)");
ventanaPrinc.setVisible(true);
ventanaPrinc.setSize(320, 240);
ventanaPrinc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
dialogoP.setSize(200, 100);
dialogoP.setVisible(true);
7
JTextField
Sintaxis:
Ejemplo:
/**
*/
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
8
Si cambiamos el objeto de JTextField por:
JTextArea:
Sintaxis:
Ejemplo:
9
CampoTexto es el JTextArea creado con
color rojo de fondo
JPasswordField
Es un derivado de JTextField con la diferencia de que lo que se introduce en
esta campo es de tipo password *****
Sintaxis:
Ejemplo:
10
contenedor.add(pass);/* Se añade el JPasswordField al contenedor, para
ordenamiento*/
JEditorPane:
Sintaxis:
Ejemplo:
super("JEditorPane – Ejemplo.");
JEditorPane jedit;
"<head><base href=\"file:d:/\"></head>"+
"<b>hola</b><br>" + "<i>adios</i><br>" +
JTextPane:
Sintaxis:
JTextPane(StyledDocument doc);
Ejemplo:
// Se instancia el JTextPane
editor.getStyledDocument();
add(editor);
editor.insertComponent(boton);
JMenuBar y JMenu:
Sintaxis:
Ejemplo:
super("Prueba de JMenuBar");
mb=new JMenuBar();/* se crea un nuevo objeto tipo JMenuBar para contener a los
menus del programa*/
setDefaultCloseOperation(EXIT_ON_CLOSE);
JMenuItem:
Sintaxis:
Ejemplo:
super("Prueba de JMenuBar");
JMenu menu1;
JMenuItem mi1,mi2,mi3;
mb=new JMenuBar();/* se crea un nuevo objeto tipo JMenuBar para contener a los
menus del programa*/
13
mb.add(menu1);/* se añade el menu "opciones" a la barra de menus creada*/
menu1.add(mi1);
menu1.add(mi2);
menu1.add(mi3);
setDefaultCloseOperation(EXIT_ON_CLOSE);
Al crear JMenuItem y añadirlos a algún JMenu, al dar click sobre ese menú, se
despliega una lista con las opciones dadas en el código.
JPopupMenu:
Sintaxis:
Ejemplo:
super("Prueba de JMenuBar");
JMenu menu1;
JMenuItem mi1,mi2,mi3;
mb=new JMenuBar();/* se crea un nuevo objeto tipo JMenuBar para contener a los
menus del programa*/
14
menu1=new JMenu("Menu Feliz :)");/* creacion de otro menu para la barra de
menus*/
menu1.add(mi1);
menu1.add(mi2);
menu1.add(mi3);
setDefaultCloseOperation(EXIT_ON_CLOSE);
pmenu.add(s2);
pmenu.add(s3);
pmenu.add(s4);
mb.setComponentPopupMenu(pmenu);
15
JCheckBokMenuItem, JRadioButtonMenuItem y JSeparator:
Sintaxis:
Ejemplo:
JMenu menu1,menu2,menu3;
JMenuItem mi1,mi2,mi3;
mb=new JMenuBar();/* se crea un nuevo objeto tipo JMenuBar para contener a los
menus del programa*/
menu2.add(mi1);
menu2.addSeparator();
menu2.add(mi2);
menu2.addSeparator();
menu2.add(mi3);
menu1.addSeparator();//añadir JSeparator
menu1.add(lista2);
menu1.addSeparator();
menu1.add(lista3);
menu3.add(Rboton1);
menu3.addSeparator();
menu3.add(Rboton2);
menu3.addSeparator();
menu3.add(Rboton3);
menu3.addSeparator();
menu3.add(Rboton4);
Ejemplo
de
JRadioButtonMenuItem con
separadores resultante del código
17
WIDGETS
Sintaxis:
public JComboBox();
public JLabel();
public JList();
public JTable();
public JScrollBar();
public JSlider()
public JToolTip();
public JProgressBar();
Ejemplo:
contenedor.setLayout(new FlowLayout());
setSize(640, 480);
setVisible(true);
contenedor.add(boton1);
contenedor.add(boton2);
contenedor.add(boton3);
// crear un JToggleButton tipo switch que tiene similares propiedades a
JButton :D
18
JToggleButton boton4 = new JToggleButton("Boton Largo");
contenedor.add(boton5);
contenedor.add(boton6);
contenedor.add(boton7);
contenedor.add(boton8);
contenedor.add(boton9);
contenedor.add(boton10);
contenedor.add(boton11);
contenedor.add(boton12);
contenedor.add(boton13);
contenedor.add(barra);
contenedor.add(barra2);
//Leyenda de ayuda de los botones al poner el cursor sobre cada botón, una
propiedad de JButton, radio button y checkbox
boton1.setToolTipText("Que quieres aqui!!!");
19
boton2.setToolTipText("jajajajajajaja");
boton3.setToolTipText("Ayudaaaa Belmonth");
combo1.setBounds(50,100,80,20);
add(combo1);
combo1.addItem("rojo");
combo1.addItem("vede");
combo1.addItem("azul");
combo1.addItem("amarillo");
combo1.addItem("negro");
label1.setBounds(10,140,300,30);
contenedor.add(label1);
contenedor.add(label2);
sampleJList.setVisibleRowCount(4);
//Poner la fuente, tipo y tamaño de la misma a mostrar para los elementos
de la lista
20
Font displayFont = new Font("Serif", Font.BOLD, 18);
sampleJList.setFont(displayFont);
listPanel.setBackground(Color.white);
listPanel.setBorder(listPanelBorder);
listPanel.add(listPane);
contenedor.add(listPanel, BorderLayout.CENTER);
//creando JLabel
valueLabel.setFont(displayFont);
valueField.setFont(displayFont);
valuePanel.setBackground(Color.white);
21
//Asignar el nombre de la etiqueta del borde creado con el constructor de
ValuePanelBorder, que tiene como argumento una clase de BorderFactory que
regresa y asigna en la posición superor de
Border valuePanelBorder =
BorderFactory.createTitledBorder("JList Selection");
valuePanel.setBorder(valuePanelBorder);
//Se añade al JPanel el JTextField y el JLabel para que formen parte del
mismo
valuePanel.add(valueLabel);
valuePanel.add(valueField);
contenedor.add(valuePanel, BorderLayout.SOUTH);
setVisible(true);
22
//Inserta los nodos del arbol, argumentos DefaultMutableTreeNode (el nodo
arbol necesario que será el "hijo" o sub categoria de lo que se inserte),
DefaultMutableTreeNode que será el padre de lo que se inserte y el índice del
orden en el que se colocará
modelo.insertNodeInto(padre,abuelo,0);
//Es posible añadir widgets dentro de esta barra, por medio del método add,
como argumento pide un widget, el cual puede ser instanciado dentro de los
parámetros o introducido de alguno declarado anteriormente
barraBotones.add(new JButton("1"));
barraBotones.add(new JButton("2"));
barraBotones.add(new JButton("3"));
barraBotones.add(new JButton("4"));
barraBotones.add(new JButton("5"));
contenedor.add(barraBotones);
contenedor.add(scrollBar);
contenedor.add(Pbarra);
llena
Pbarra.setBackground(Color.blue);
23
Sub Ventanas:
JPanel:
Sintaxis:
Ejemplo:
// crear y agregar botones por medio de un for, para que los coloque en
orden de izquierda a derecha
setVisible( true );
JScrollPane
Sintaxis:
Ejemplo:
// La ventana
// El panel de scroll
// La etiqueta.
25
// Se carga la imagen, con path absoluto para evitar problemas y debe
// ser un gif.
etiqueta.setIcon (imagen);
ventana.getContentPane().add(scroll);
scroll.setViewportView(etiqueta);
// Y se visualiza todo.
ventana.pack();
ventana.setVisible(true);
26