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 }
|