Subido por Axiote Fie

EJEMPLOS DE MANEJO DE EVENTOS

Anuncio
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();
}
}
Descargar