EJEMPLOS DE GUI´s CON EVENTOS y APLETTS 1.//CUADROS DE DIALOGO package principal; import javax.swing.*; class PRINCIPAL { public static void main(String[] args) { String n1; String n2; double num1,num2,suma; n1=JOptionPane.showInputDialog("Da un numero"); num1=Double.parseDouble(n1); n2=JOptionPane.showInputDialog("Da un numero"); num2=Double.parseDouble(n2); suma=num1+num2; JOptionPane.showMessageDialog( null, "Resultado de la suma="+suma ); System.exit( 0 ); } } 2.- //EVENTO CON BOTON package principal; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class PRINCIPAL { public static void main(String[] args) { JFrame MiMarco = new JFrame(); MiMarco.setTitle("SALUDO"); MiMarco.setSize(400,200); MiMarco.setLocation(100,50); MiMarco.setLayout(null); // le damos un poco de color a la ventana //Color JFrame MiMarco.getContentPane().setBackground(Color.orange); MiMarco.setVisible(true); Label etiq = new Label("Un botón:"); etiq.setBounds(100,50,120,60); MiMarco.add(etiq); Button boton = new Button("Púlsame"); boton.setBackground(Color.blue); boton.setForeground(Color.white); boton.setBounds(170,50,180,60); MiMarco.add(boton); MiMarco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); boton.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ JFrame Mivent = new JFrame(); Mivent.setSize(400,200); Mivent.setTitle("GRACIAS"); Mivent.getContentPane().setBackground(Color.green); Mivent.setVisible(true); } }); } } 3.//mueve un circulo con las flechas del teclado package principal; import javax.swing.*; import java.awt.geom.*; import java.awt.event.*; import java.awt.*; class PRINCIPAL{ public static void main(String[] arg){ JFrame marco=new JFrame(); marco.setTitle("Animacion"); //CREACION DE UN OBJETO DEL TIPO ANIMACION Animacion panel=new Animacion(); panel.setFocusable(true); //PEGA EL PANEL EN EL MARCO marco.add(panel); //AJUSTA EL MARCO AL SIZE DEL PANEL marco.pack(); //ESTABLECER EL COMPORTAMIENTO DEL FRAME //LA CONSTANTE EXIT_ON_CLOSE INDICA QUE EL FRAME //DEBE CERRAR Y LIBERAR RECURSOS DEL SISTEMA marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //MOSTRAR EL MARCO marco.setVisible(true); } } class Animacion extends JPanel implements KeyListener{ private int x,y; //METODO CONSTRUCTOR.- LE DA UN ESTADO INICIAL //AL OBJETO CUANDO ES CREADO public Animacion(){ x=50; y=50; //ESTABLECER DIMENCION DEL PANEL setPreferredSize(new Dimension(600,400)); //ESTABLECER EL COLOR DEL FONDO setBackground(Color.BLACK); //AGREGA UN ESCUCHADOR A LA CLASE addKeyListener(this); } //PARA PINTAR O DIBUJAR SOBRE ESCRIBIR EL METODO //PAINTCOMPONET public void paintComponent(Graphics g){ super.paintComponent(g); Graphics2D g2=(Graphics2D)g; Ellipse2D.Double e=new Ellipse2D.Double(x,y,100,100); g2.setColor(Color.BLUE); g2.fill(e); } public void keyTyped(KeyEvent ev){ } public void keyPressed(KeyEvent ev){ if(ev.getKeyCode()==KeyEvent.VK_RIGHT) x+=5; if(ev.getKeyCode()==KeyEvent.VK_LEFT) x-=5; if(ev.getKeyCode()==KeyEvent.VK_DOWN) y+=5; if(ev.getKeyCode()==KeyEvent.VK_UP) y-=5; repaint(); } public void keyReleased(KeyEvent ev){ } } 4.package principal; import javax.swing.*; import java.awt.event.*; import java.awt.*; class PRINCIPAL { public static void main(String []srg){ JFrame marco=new JFrame(); marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ControlPanel panel=new ControlPanel(); marco.add(panel); marco.pack(); marco.setVisible(true); } } class ControlPanel extends JPanel{ private JButton btnAceptar; private JTextField txtNombre; private String s; public ControlPanel(){ s=""; btnAceptar=new JButton("Aceptar"); txtNombre=new JTextField(); setPreferredSize(new Dimension(600,500)); setBackground(Color.BLACK); //distribucion setLayout(null); //posicion de los objetos btnAceptar.setBounds(100,50,100,30); txtNombre.setBounds(100,90,100,30); add (btnAceptar); add (txtNombre); //programar el boton btnAceptar.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ //aqui s=txtNombre.getText(); repaint(); }}); } public void paintComponent(Graphics g){ super.paintComponent(g); g.setColor(Color.white); g.drawString(s,100,200); } } 5.package principal; import javax.swing.*; import java.awt.geom.*; import java.awt.*; class PRINCIPAL{ public static void main(String[] arg){ JFrame marco=new JFrame("figuras geometricas"); DibujoPanel panel=new DibujoPanel(); marco.add(panel); marco.pack(); marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); marco.setVisible(true); } } class DibujoPanel extends JPanel{ //Constructor public DibujoPanel(){ Dimension d=new Dimension(500,400); //establece size del panel(foto) setPreferredSize(d); //establece color de fonde de la foto(panel) setBackground(Color.yellow); } public void paintComponent(Graphics g){ super.paintComponent(g); Graphics2D g2=(Graphics2D)g; g2.setColor(Color.black); GeneralPath t=new GeneralPath(); t.moveTo(200,250); t.lineTo(50,100); t.lineTo(100,250); g2.draw(t); g2.fill(t); Rectangle2D.Double R=new Rectangle2D.Double(0,20,150,300); g2.setColor(Color.white); g2.draw(R); g2.setColor(Color.white); g2.fill(R); Ellipse2D.Double e=new Ellipse2D.Double(0,20,300,300); g2.setColor(Color.BLACK); g2.draw(e); } } 6.package principal; import javax.swing.*; import java.awt.geom.*; import java.awt.*; class PRINCIPAL{ public static void main(String[] arg){ JFrame marco=new JFrame("figuras geometricas"); DibujoPanel panel=new DibujoPanel(); marco.add(panel); marco.pack(); marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); marco.setVisible(true); } } class DibujoPanel extends JPanel{ //Constructor public DibujoPanel(){ Dimension d=new Dimension(500,400); //establece seze del panel(foto) setPreferredSize(d); //establece color de fonde de la foto(panel) setBackground(Color.yellow); } public void paintComponent(Graphics g){ super.paintComponent(g); Graphics2D g2=(Graphics2D)g; Ellipse2D.Double e=new Ellipse2D.Double(50,50,100,100); g2.setColor(Color.BLACK); g2.draw(e); g2.setColor(Color.RED); g2.fill(e); g2.setColor(Color.black); GeneralPath t=new GeneralPath(); t.moveTo(200,250); t.lineTo(50,100); t.lineTo(100,250); g2.draw(t); g2.fill(t); Rectangle2D.Double R=new Rectangle2D.Double(50,200,150,100); g2.setColor(Color.white); g2.draw(R); g2.setColor(Color.white); g2.fill(R); GeneralPath ruta=new GeneralPath(); ruta.moveTo(200,200); ruta.lineTo(200,300); ruta.quadTo(250,250,200,200); g2.draw(ruta); g2.fill(ruta); Rectangle2D.Double Rv=new Rectangle2D.Double(200,240,20,20); g2.setColor(Color.black); g2.draw(Rv); g2.setColor(Color.blue); g2.fill(Rv); Rectangle2D.Double Rv2=new Rectangle2D.Double(150,240,20,20); g2.setColor(Color.black); g2.draw(Rv2); g2.setColor(Color.blue); g2.fill(Rv2); g2.setColor(Color.black); GeneralPath t2=new GeneralPath(); t2.moveTo(200,250); t2.lineTo(50,400); t2.lineTo(100,250); g2.draw(t2); g2.fill(t2); } } 7.// BOTONES CON APPLETS EJECUTAR COMO UN APPLE CLEAN AND BUILD-RUN FILE package principal; import java.awt.*; import java.awt.event.*; import java.applet.*; public class PRINCIPAL extends Applet { Button btnRojo = new Button(); Button btnVerde = new Button(); Button btnAzul = new Button(); FlowLayout flowLayout1 = new FlowLayout(); final Color[] colores={Color.red, Color.green, Color.blue}; int indice; public void init() { btnRojo.setLabel("Rojo"); btnRojo.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { botones_actionPerformed(e); } }); btnVerde.setLabel("Verde"); btnVerde.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { botones_actionPerformed(e); } }); btnAzul.setLabel("Azul"); btnAzul.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { botones_actionPerformed(e); } }); flowLayout1.setHgap(10); this.setLayout(flowLayout1); this.add(btnRojo, null); this.add(btnVerde, null); this.add(btnAzul, null); } public void paint(Graphics g){ g.setColor(colores[indice]); g.fillRect(20, 50, 100, 50); } void botones_actionPerformed(ActionEvent e) { Object boton=e.getSource(); if(boton.equals(btnRojo)){ indice=0; }else if(boton.equals(btnVerde)){ indice=1; }else{ indice=2; } repaint(); } }