elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  ayuda con un ejercicio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con un ejercicio  (Leído 1,930 veces)
jos3

Desconectado Desconectado

Mensajes: 21



Ver Perfil
ayuda con un ejercicio
« en: 12 Noviembre 2008, 06:19 »

hola!
la ayuda que nesecito es sobre como puedo hacer para que con este ejercicio que cuando yo elija circulo se cree uno y lo pueda hacer grande o pequeño y que se mueva de derecha a izquierda ó si yo eligiera el cuadrado hiciera lo mismo pero con un cuadrado...yo ya lo tengo hecho con un circulo pero no se como hacer para cuando de click en cuadro lo cree y elimine el circulo....esta es una imagen de lo que tengo y donde tengo que dar click para cree el cuadro...


*aca esta link de la imagen por si no se ve! http://img528.imageshack.us/my.php?image=prograjq2.jpg

y aqui les dejo el codigo
Código
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. public class MenuGlobo extends Frame implements WindowListener, ActionListener{
  5. private Globo miGlobo;
  6. private MenuItem agrandarItem,reducirItem;
  7. private MenuItem izquierdaItem,derechaItem;
  8. private MenuItem cuadradoItem,circuloItem;
  9.  
  10.  
  11.    public static void main(String[] args) {
  12.     Frame f= new MenuGlobo();
  13.     f.setSize(200,200);
  14.     f.setVisible(true);    
  15.    }
  16.  
  17.    public MenuGlobo(){
  18.     setTitle("Globo");
  19.     setLayout(new FlowLayout());
  20.  
  21.     MenuBar menuBarra = new MenuBar();
  22.  
  23.     Menu figuraMenu = new Menu("Figura");
  24.  
  25.     cuadradoItem = new MenuItem("Cuadrado");
  26.     figuraMenu.add(cuadradoItem);
  27.     cuadradoItem.addActionListener(this);
  28.  
  29.     circuloItem = new MenuItem("Circulo");
  30.     figuraMenu.add(circuloItem);
  31.     circuloItem.addActionListener(this);
  32.  
  33.     menuBarra.add(figuraMenu);
  34.  
  35.     Menu tamañoMenu = new Menu("Tamaño");
  36.  
  37.     agrandarItem = new MenuItem("Agrandar");
  38.     tamañoMenu.add(agrandarItem);
  39.     agrandarItem.addActionListener(this);
  40.  
  41.     reducirItem = new MenuItem("Reducir");
  42.     tamañoMenu.add(reducirItem);
  43.     reducirItem.addActionListener(this);
  44.  
  45.     menuBarra.add(tamañoMenu);
  46.     Menu moverMenu = new Menu("Mover");
  47.  
  48.     izquierdaItem = new MenuItem("Izquierda");
  49.     moverMenu.add(izquierdaItem);
  50.     izquierdaItem.addActionListener(this);
  51.  
  52.     moverMenu.addSeparator();
  53.  
  54.     derechaItem = new MenuItem ("Derecha");
  55.     moverMenu.add(derechaItem);
  56.     derechaItem.addActionListener(this);
  57.  
  58.     menuBarra.add(moverMenu);
  59.     setMenuBar(menuBarra);
  60.  
  61.   this.addWindowListener(this);
  62.  
  63.   miGlobo = new Globo(20, 50, 50);
  64.    }
  65.  
  66.    public void actionPerformed(ActionEvent event){
  67.     if (event.getSource()==agrandarItem)
  68.     miGlobo.cambiarTamaño(10);
  69.     if (event.getSource()==reducirItem)
  70.     miGlobo.cambiarTamaño(-10);
  71.     if (event.getSource()==izquierdaItem)
  72.     miGlobo.moverIzquierda();
  73.     if (event.getSource()==derechaItem)
  74.     miGlobo.moverDerecha();
  75.     repaint();
  76.    }
  77.  
  78.    public void paint (Graphics g){
  79.     miGlobo.mostrar(g);
  80.     }
  81.    public void windowClosing(WindowEvent e){
  82.     System.exit(0);
  83.     }
  84.    public void windowIconified(WindowEvent e){
  85.     }
  86.   public void windowOpened(WindowEvent e){
  87.   }
  88.   public void windowClosed(WindowEvent e){
  89.   }
  90.   public void windowDeiconified(WindowEvent e){
  91.   }
  92.   public void windowActivated(WindowEvent e){
  93.   }
  94.   public void windowDeactivated(WindowEvent e){
  95.   }
  96.  
  97.   class Globo {
  98.   private int diametro;
  99.   private int xCoord, yCoord;
  100.  
  101.  
  102.  
  103.  
  104.   Globo(int diametroInicial, int xInicial, int yInicial){
  105.   diametro = diametroInicial;
  106.   xCoord = xInicial;
  107.   yCoord = yInicial;
  108.   }
  109.  
  110.   public void cambiarTamaño (int cambio){
  111.   diametro = diametro + cambio;
  112.   }
  113.   public void moverIzquierda(){
  114.   xCoord = xCoord - 10;
  115.   }
  116.   public void moverDerecha(){
  117.   xCoord = xCoord + 10;
  118.   }
  119.   public void mostrar (Graphics g){
  120.   g.setColor(Color.red);
  121.   g.drawOval( xCoord, yCoord,diametro,diametro);
  122.   g.fillOval( xCoord, yCoord,diametro,diametro);
  123.  
  124.  
  125.   }
  126.  
  127.   }
  128. }
  129.  


« Última modificación: 15 Noviembre 2008, 00:07 por jos3 » En línea

jos3

Desconectado Desconectado

Mensajes: 21



Ver Perfil
Re: ayuda con un ejercicio
« Respuesta #1 en: 15 Noviembre 2008, 00:08 »

perdon el doble post pero por favor alguien que me ayude!


saludos y espero no molestar a nadie!


En línea

joseprox

Desconectado Desconectado

Mensajes: 37



Ver Perfil
Re: ayuda con un ejercicio
« Respuesta #2 en: 15 Noviembre 2008, 05:03 »

te voy a ayudar en algo....Bueno mi vale......lo que quiere es que cuando hagas una primera imagen esta se quite cuando quieras colocar la segunda......eso es lo que supongo que quieres.....

mira....java te provee de muchas facultades......vi tu codigo...y lo que hces es hace un dibujo en un panel por ejemplo.....y luego que subes el otro este se ecribe en el mismo panel......esa es la cagada.....

te doy esta sugerencia....create un vector (la clase Vector)...que guarde el dibujo que haces primero....luego que quieras hacer el segundo dibujo este se guardará en la siguiente posicion....veras que otra visio del proyecto por que podes tener una especie de control z (Ctrl+z) retro.....tira  craneo y veras lo que te digo...

ahora escribe al mail y te paso uno que hice cuando estaba en la universidad
    joseprox@gmail.com
.....te identificas con jo3+hacker.net para saber que me escribiste....ok

joseprox......Ingeniero de Sistemas----

En línea

Toda persona tiene derecho a cometer errores...
la verdad es q solo ella es RESPONSABLE DE LO QUE HACE.....!!!!!
jos3

Desconectado Desconectado

Mensajes: 21



Ver Perfil
Re: ayuda con un ejercicio
« Respuesta #3 en: 15 Noviembre 2008, 23:03 »

mmmmm yo creo que no entendiste bien lo que nesecito hacer....
ahi en la imagen que adjunte ahi hice una flecha señalando que cuando de click ahi se cree esa figura o si le doy click a la otra cree esa figura....


saludos
En línea

joseprox

Desconectado Desconectado

Mensajes: 37



Ver Perfil
Re: ayuda con un ejercicio
« Respuesta #4 en: 16 Noviembre 2008, 06:36 »


Bueno mi vale....realice una modificaciones y agrege otro objeto llamado miCuadro
ahi...tambien tiene un variable llamada idFigura...la cual identifica cua imagen quieres......ya sea circulo o cuadrado....chequeate el codigo este y me dices si es como lo quieres........espero de te sirva.........

atte....joseprox.....Ingeniero de sistemas....


package fechas;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class MenuGlobo extends Frame implements WindowListener, ActionListener{   

private Globo miGlobo;   
private Globo miCuadro;   
private MenuItem agrandarItem,reducirItem;   
private MenuItem izquierdaItem,derechaItem;   
private MenuItem cuadradoItem,circuloItem;     

int idfigura = 0; //esta variable te identifica la figura que vas a colocar

public static void main(String[] args) {       

  Frame f= new MenuGlobo();       
  f.setSize(200,200);       
  f.setVisible(true);          
}

public MenuGlobo(){       
  setTitle("Globo");
  setLayout(new FlowLayout());     
 
  MenuBar menuBarra = new MenuBar();        
  Menu figuraMenu = new Menu("Figura"); 
  cuadradoItem = new MenuItem("Cuadrado");       
  figuraMenu.add(cuadradoItem);       
  cuadradoItem.addActionListener(this);        
  circuloItem = new MenuItem("Circulo");       
  figuraMenu.add(circuloItem);       
  circuloItem.addActionListener(this);        
  menuBarra.add(figuraMenu);        
  Menu tamañoMenu = new Menu("Tamaño");        
  agrandarItem = new MenuItem("Agrandar");       
  tamañoMenu.add(agrandarItem);       
  agrandarItem.addActionListener(this);        
  reducirItem = new MenuItem("Reducir");       
  tamañoMenu.add(reducirItem);       
  reducirItem.addActionListener(this);        
  menuBarra.add(tamañoMenu);       
  Menu moverMenu = new Menu("Mover");        
  izquierdaItem = new MenuItem("Izquierda");       
  moverMenu.add(izquierdaItem);       
  izquierdaItem.addActionListener(this);        
  moverMenu.addSeparator();        
  derechaItem = new MenuItem ("Derecha");       
  moverMenu.add(derechaItem);       
  derechaItem.addActionListener(this);        
  menuBarra.add(moverMenu);       
  setMenuBar(menuBarra);   
  this.addWindowListener(this);          
  miGlobo = new Globo(0, 0, 0);   
  miCuadro = new Globo(0,0,0,0);   
 
  }     
 
  public void actionPerformed(ActionEvent event){       
 
  if(event.getSource().equals(circuloItem)){
     miGlobo.FuncionColocarCirculo(20,50,50);
     miCuadro.FuncionColocarCuadrado(0,0,0,0);
     idfigura = 1; // circulo
  }
 
  if(event.getSource().equals(cuadradoItem)){
     miGlobo.FuncionColocarCirculo(0,0,0);
     miCuadro.FuncionColocarCuadrado(30,50,50,50);
     idfigura = 2; // cuadrado
  }
 
 
  if (event.getSource().equals(agrandarItem)){
 
      if(idfigura == 1)
      miGlobo.cambiarTamaño(10);
     
     
      if(idfigura == 2)       
      miCuadro.cambiarTamañocuadro(10);
  }          
 
  if (event.getSource().equals(reducirItem)){
 
      if(idfigura == 1)
      miGlobo.cambiarTamaño(-10);
     
     
      if(idfigura == 2)       
      miCuadro.cambiarTamañocuadro(-10);
  }             
 
  if (event.getSource().equals(izquierdaItem)){
     if(idfigura == 1)
      miGlobo.moverIzquierda();       
   
    if(idfigura == 2)
      miCuadro.moverIzquierda();       
     
  }          
 
  if (event.getSource().equals(derechaItem)){
     if(idfigura == 1)
       miGlobo.moverDerecha();       
      
     if(idfigura == 2)
       miCuadro.moverDerecha();        
  }          
     
     
      repaint();   
 
  }     
 
  public void paint (Graphics g){       
     if(idfigura == 1)
     miGlobo.mostrar(g,idfigura);       
     
     if(idfigura == 2)
     miCuadro.mostrar(g,idfigura);       
     
  }      
 
  public void windowClosing(WindowEvent e){       
  System.exit(0);       
 
  }
  public void windowIconified(WindowEvent e){}
  public void windowOpened(WindowEvent e){}
  public void windowClosed(WindowEvent e){}
  public void windowDeiconified(WindowEvent e){}
  public void windowActivated(WindowEvent e){}
  public void windowDeactivated(WindowEvent e){}
 
  class Globo {         
 
  private int diametro;         
  private int xCoord, yCoord;          
  private int xCoord1, yCoord1;          
 
  //globo para circulo   
  Globo(int diametroInicial, int xInicial, int yInicial){
        diametro = diametroInicial;         
        xCoord = xInicial;         
        yCoord = yInicial;
  }          
  //globo para cuadrado
  Globo(int xInicial, int yInicial,int x1Inicial, int y1Inicial){
        xCoord = xInicial;         
        yCoord = yInicial;
        xCoord1 = x1Inicial;         
        yCoord1 = y1Inicial;
  }
 
  public void FuncionColocarCirculo(int diametroInicial, int xInicial, int yInicial){
         diametro = diametroInicial;         
        xCoord = xInicial;         
        yCoord = yInicial;
  }
 
  public void FuncionColocarCuadrado(int xInicial, int yInicial,int xCoord1inicial,int yCoord1inicial){
         xCoord = xInicial;         
        yCoord = yInicial;
        xCoord1 = xCoord1inicial;         
        yCoord1 = yCoord1inicial;
  }
 
 
  public void cambiarTamaño (int cambio){
 
       diametro = diametro + cambio;      
  }         
 
  public void cambiarTamañocuadro(int cambio){
       xCoord1 = xCoord1+cambio;         
       yCoord1 = yCoord1+cambio;     
     }
     
 
 
  public void moverIzquierda(){
     xCoord = xCoord - 10;
  }         
 
  public void moverDerecha(){
   xCoord = xCoord + 10;         
  }         
 
  public void mostrar (Graphics g,int idfigura){            
 
   if(idfigura == 1){
    g.setColor(Color.red);            
    g.drawOval( xCoord, yCoord,diametro,diametro);            
    g.fillOval( xCoord, yCoord,diametro,diametro);           
   }
   
   if(idfigura == 2){
     g.setColor(Color.blue); 
     g.drawRect(xCoord,(20+yCoord),xCoord1+10,yCoord1+10);
     g.fillRect(xCoord,(20+yCoord),xCoord1+10,yCoord1+10);
   }
  }
 }//Fin de la clase Globo
 
 
 //clase cuadrado
 
 
}
En línea

Toda persona tiene derecho a cometer errores...
la verdad es q solo ella es RESPONSABLE DE LO QUE HACE.....!!!!!
jos3

Desconectado Desconectado

Mensajes: 21



Ver Perfil
Re: ayuda con un ejercicio
« Respuesta #5 en: 16 Noviembre 2008, 20:45 »

ohhhhhhhhh muchisisisisisisisimas gracias ya me funciono!!!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA EJERCICIO C++
Programación C/C++
gomezjuan 3 344 Último mensaje 13 Mayo 2020, 19:17
por K-YreX
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines