Autor
|
Tema: ayuda con un ejercicio (Leído 2,750 veces)
|
jos3
Desconectado
Mensajes: 21
|
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.jpgy aqui les dejo el codigo import javax.swing.*; import java.awt.*; import java.awt.event.*; private Globo miGlobo; private MenuItem agrandarItem,reducirItem ; private MenuItem izquierdaItem,derechaItem ; private MenuItem cuadradoItem,circuloItem ; public static void main (String[] args ) { Frame f = new MenuGlobo (); f.setSize(200,200); f.setVisible(true); } public MenuGlobo(){ setTitle("Globo"); cuadradoItem = new MenuItem("Cuadrado"); figuraMenu.add(cuadradoItem); cuadradoItem.addActionListener(this); figuraMenu.add(circuloItem); circuloItem.addActionListener(this); menuBarra.add(figuraMenu); agrandarItem = new MenuItem("Agrandar"); tamañoMenu.add(agrandarItem); agrandarItem.addActionListener(this); tamañoMenu.add(reducirItem); reducirItem.addActionListener(this); menuBarra.add(tamañoMenu); izquierdaItem = new MenuItem("Izquierda"); moverMenu.add(izquierdaItem); izquierdaItem.addActionListener(this); moverMenu.addSeparator(); moverMenu.add(derechaItem); derechaItem.addActionListener(this); menuBarra.add(moverMenu); setMenuBar(menuBarra); this.addWindowListener(this); miGlobo = new Globo(20, 50, 50); } if (event.getSource()==agrandarItem) miGlobo.cambiarTamaño(10); if (event.getSource()==reducirItem) miGlobo.cambiarTamaño(-10); if (event.getSource()==izquierdaItem) miGlobo.moverIzquierda(); if (event.getSource()==derechaItem) miGlobo.moverDerecha(); repaint(); } miGlobo.mostrar(g); } } } } } } } } class Globo { private int diametro; private int xCoord, yCoord; Globo(int diametroInicial, int xInicial, int yInicial){ diametro = diametroInicial; xCoord = xInicial; yCoord = yInicial; } public void cambiarTamaño (int cambio){ diametro = diametro + cambio; } public void moverIzquierda(){ xCoord = xCoord - 10; } public void moverDerecha(){ xCoord = xCoord + 10; } g.drawOval( xCoord, yCoord,diametro,diametro); g.fillOval( xCoord, yCoord,diametro,diametro); } } }
|
|
« Última modificación: 15 Noviembre 2008, 00:07 am por jos3 »
|
En línea
|
|
|
|
jos3
Desconectado
Mensajes: 21
|
perdon el doble post pero por favor alguien que me ayude!
saludos y espero no molestar a nadie!
|
|
|
En línea
|
|
|
|
joseprox
Desconectado
Mensajes: 37
|
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
Mensajes: 21
|
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
Mensajes: 37
|
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
Mensajes: 21
|
ohhhhhhhhh muchisisisisisisisimas gracias ya me funciono!!!!
|
|
|
En línea
|
|
|
|
|
|