Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/05/2015, 19:12
Maxs45
 
Fecha de Ingreso: mayo-2015
Mensajes: 1
Antigüedad: 9 años
Puntos: 0
Ejercicio Interfaz Grafica

Buenas, tengo un ejercicio en java que es mostrar un ejercicio por interfaz grafica y me funciona de maravilla... pero tengo que modificar el codigo con otras caracteristicas que me pide que son las siguientes:

Modifique el programa anterior de tal manera que permita dibujar círculos del color seleccionado en el lugar donde se de clic con el mouse.
(Con la interfaz MouseListener, utilizar el método MousePressed con getX y getY)

Modifique el programa resultado del punto anterior de tal manera que permita dibujar (como con un lápiz) trazos continuos del color seleccionado cuando se arrastre el mouse con el botón presionado.
(Con la interfaz MouseMotionListener, utilizar el método MouseDragged)

Código:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.awt.Graphics.*;
import java.awt.Color.*;
 
	public class PintaCirculos extends Applet implements ActionListener,MouseListener{
 
		String msg = " ";
		int i,j;
		Button Rojo,Azul,Amarillo;
		Color micolor;
		boolean primeraVez = true;
		String Mensaje = "";
 
 
 
		public void init(){
			Rojo = new Button ("Color rojo");
			Rojo.addActionListener(this);
			Azul = new Button ("Color azul");
			Azul.addActionListener(this);
			Amarillo = new Button ("Color Amarillo");
			Amarillo.addActionListener(this);
			add (Rojo);
			add (Azul);
			add (Amarillo);
		}
 
		public void actionPerformed(ActionEvent evento){
			posicion ();
 
			if (evento.getSource() == Rojo){
				micolor = Color.red;
				msg = "Ha pulsado rojo";}
 
			else if (evento.getSource() == Azul ){
				micolor = Color.blue;
				msg = "Ha pulsado Azul";}
 
			else if (evento.getSource() == Amarillo){
				micolor = Color.yellow;
				msg = "Ha pulsado Amarillo";}
				repaint();}
 
		public void mousePressed(MouseEvent a){
				escribaMensaje("Mouse presionado (# de clicks:" +a.getClickCount()+")",a);}
 
		public void mouseReleased (MouseEvent a){
				escribaMensaje("Mouse liberado (# de clicks:" +a.getClickCount()+ ")",a);}
 
		public void mouseEntered (MouseEvent a){
				escribaMensaje ("Mouse entra a ",a);}
 
		public void mouseExited (MouseEvent a){
				escribaMensaje("Mouse sale de",a);}
 
		public void mouseClicked (MouseEvent a){
				escribaMensaje("Mouse presionado (# de clicks:" +a.getClickCount()+")",a);}
 
		public void escribaMensaje (String eventDescription, MouseEvent a){
				Circulo.Mensaje = eventDescription + " " + a.getComponent().getClass().getName();
				Circulo.repaint();
			}
 
 
		public void posicion(){
			i = (int)(Math.random() * (getSize().width-40));
			j = (int)(Math.random() * (getSize().width-40));
		}
 
 
		public void update (Graphics g){
			paint(g);}
 
		public void paint(Graphics g){
			if (primeraVez)
				primeraVez = false;
 
				else{
					getAppletContext().showStatus(msg);
					g.setColor(micolor);
					g.fillOval(i+20,j+30,10,10);}
				}
 
 
	}