Vous êtes sur la page 1sur 39

Ambiente grfico en Java

awt swing
M. En C. Estela Martnez Cruz

Componentes awt

Crear una ventana


import java.awt.*; import javax.swing.*; class ventana extends JFrame { ventana(){
setTitle("mi programa"); setSize(200,250); setVisible(true);

} } // termina clase

Abrir una ventana


class testventana { public static void main(String []arg) {
ventana form=new ventana();

} }

Contenedor

Agregar una etiqueta


import java.awt.*; import javax.swing.*; class ventana extends JFrame { JPanel panel=new JPanel(); JLabel e=new JLabel(etiqueta); ventana(){ setTitle("mi programa"); setSize(200,250); setVisible(true); Container contenedor=getContentPane(); panel.setBackground(Color.pink); contenedor.add(panel); panel.add(e); } }
etiqueta

JLabel

JPanel

Abrir la ventana
class testventana { public static void main(String []arg) {
ventana form=new ventana();

} }

Agregar una caja de texto


import java.awt.*; import javax.swing.*; class ventana extends JFrame { ventana(){ setTitle("mi programa"); setSize(200,250); setVisible(true); Container contenedor=getContentPane(); JPanel panel=new JPanel(); JLabel e=new JLabel(etiqueta); JTextField t=new JTextField(10); panel.setBackground(Color.pink); contenedor.add(panel); panel.add(e); panel.add(t); } }

Abrir la ventana
class testventana { public static void main(String []arg) {
ventana form=new ventana();

} }

JButton b=new JButton("Boton"); JComboBox c=new JComboBox(); c.addItem("nada"); c.addItem("algo"); JCheckbox c1=new JCheckbox("futbol"); JCheckbox c2=new JCheckbox("tenis"); JCheckbox c3=new JCheckbox("squash"); ButtonGroup grupo=new ButtonGroup(); JRadioButton c4=new JRadioButton("femenino"); JRadioButton c5=new JRadioButton("masculino"); Grupo.add(c4); Grupo.add(c5); contenedor.add(panel); panel.setBackground(Color.pink); panel.add(e); panel.add(t); panel.add(c); panel.add(b); panel.add(c1); panel.add(c2); panel.add(c3); panel.add(c4); panel.add(c5);

Agrega los siguientes elementos

Resultado

Disposicin de Elementos
Layout

FlowLayout BorderLayout GridLayout BadGridLayout CardGridLayout Disposicin Personal

FlowLayout
Disposicin

elementos

que traen por default los

BorderLayout
Disposicin

ocupando los ejes cartesianos Norte, Sur, Este Oeste y Centro

panel.setLayout(new BorderLayout()); panel.add(e,BorderLayout.NORTH); panel.add(t,BorderLayout.NORTH); panel.add(c,BorderLayout.SOUTH); panel.add(b,BorderLayout.EAST); panel.add(c1,BorderLayout.WEST);

GridLayout
Disposicin

tipo matriz, la ventana se divide en filas y columnas donde todos los elementos tienen las mismas dimensiones de largo y ancho

panel.setLayout(new GridLayout(3,4)); panel.add(e); panel.add(t); panel.add(c); panel.add(b); panel.add(c1); panel.add(c2); panel.add(c3); panel.add(c4); panel.add(c5);

Disposicin Personalizada
Se

ocupa a travs del uso del mtodo setBounds(x,y,largo,ancho)

panel.setLayout(null); panel.add(e); e.setBounds(10,10,100,30); panel.add(t); t.setBounds(90,10,100,30); panel.add(c); c.setBounds(10,70,100,30); panel.add(b); b.setBounds(110,70,100,30); panel.add(c1); c1.setBounds(10,120,100,30); panel.add(c2); c2.setBounds(10,160,100,30); panel.add(c3); c3.setBounds(10,200,100,30); panel.add(c4); c4.setBounds(10,240,100,30); panel.add(c5);c5.setBounds(10,280,100,30);

Colocacin de Componentes
0,0 X

50,20,100,20 50,60,100,20

200,20,100,20

300,300

Crear un men

Componentes para un men


JMenuBar
JMenu JMenuItem

Cdigo
class menu extends JFrame{ public JMenuBar barra=new JMenuBar(); public JMenu a=new JMenu ("Opciones"); public JMenu b=new JMenu("Salida"); public JMenuItem a1=new JMenuItem("alta"); public JMenuItem a2=new JMenuItem("baja"); public JMenuItem a3=new JMenuItem("cambio"); public JPanel p=new JPanel(); public menu(){ setTitle("mi menu"); setSize(200,200); setVisible(true); Container zona=getContentPane(); zona.add(p); p.add(barra); barra.add(a); barra.add(b); a.add(a1); a.add(a2); a.add(a3); }}

Insertar imgenes

Insertar imgenes
JButton b1=new JButton("Colores"); JButton b2=new JButton("Numeros"); JButton b3=new JButton("Animales"); JButton b4=new JButton("Parientes"); JLabel l1=new JLabel(); ImageIcon x=new ImageIcon (angel.jpg"); ImageIcon y=new ImageIcon (libro.gif"); b1.setIcon(x); b2.setIcon(y); l1.setIcon(x);

Crear una barra de Iconos


JToolBar barra=new JToolBar(); ImageIcon imagen[]={new ImageIcon("images/PRINT.PNG"),new ImageIcon("images/RELOAD.png"),new ImageIcon("images/search.png"),new ImageIcon("images/save.png"),new ImageIcon("images/delete.png"),new ImageIcon("images/categories.png"),new ImageIcon("tabla2.jpg")}; JButton alta=new JButton (); JButton baja=new JButton (imagen[0]); JButton cambio=new JButton (imagen[1]); JButton consulta=new JButton (imagen[2]); JButton modifica=new JButton (imagen[3]);

barra.add(alta); barra.add(baja); barra.add(cambio); barra.add(consulta);

Programacin de un evento
Para

programar un evento, es necesario conocer los eventos a los cuales responde el componente, su interfase asociada y el mtodo de dicho eventos.

Por

ejemplo para programar el click de un boton, los elementos son: Interfase ActionListener Mtodo actionPerformed Evento ActionEvent

Programacin de un evento
Una

vez que conocemos los tres elementos anteriores, procedemos a establecer bajo que forma programar, utilizando:
Clases

separadas Clases annimas Clases anidadas

Programacin de un evento
Utilizando

clases annimas

boton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent var){ sentencias a realizar;

} });

Programacin de un evento

Utilizando clases separadas

boton.addActionListener(new evento(boton)); boton1.addActionListener(new evento(boton1)); class evento implements ActionListener{ JButton b; evento(JButton ba){ b=ba; } public void actionPerformed(ActionEvent var){
JOptionPane.showMessageDialog(null,Usted presiono el boton+b.getName());

Evento
Click Enter Presionar

(click) Presionar Boton Derecho del Mouse

Boton Izquierdo del Mouse

Para programar un componente


Boton (click) Interface ActionListener Metodo actionPerformed Evento ActionEvent

Nombrecomponente.addActionListe ner(new ActionListener(){ public void actionPerformed(ActionEvent var){ //coloca el cdigo de lo que se requiere realizar } });