Graficas.java



// Objeto que cambia el color con el clik izquierdo ...

import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Graficas extends JFrame
{
	Linea JP = new Linea();
	int Click = 1;
	boolean color = true;

	public static void main(String R[]) { new Graficas(); }

	public Graficas()
	{

		this.setBounds(100, 100, 500, 500);
		setVisible(true);

		JP.setBounds(10, 10, 400, 400);
		add(JP);
		JP.addMouseListener(new EventoRaton());
	}		// FIN DEL METODO CONSTRUCTOR


	class EventoRaton implements MouseListener
	{
		public void mouseClicked(MouseEvent e)
		{
			if ( e.BUTTON2 == e.getButton() )	// TECLA CENTRAL
			{
				if (JP.TipoDeGrafico==1) JP.TipoDeGrafico=2;
				else if (JP.TipoDeGrafico==2) JP.TipoDeGrafico=3;
				else if (JP.TipoDeGrafico==3) JP.TipoDeGrafico=1;
			}
			if ( e.BUTTON3 == e.getButton() )	// TECLA DERECHA
			{
				if ( color ) { JP.color = Color.white; JP.repaint(); color = false; }
				else { JP.color = Color.yellow; JP.repaint(); color = true;  }
			}
			if ( e.BUTTON1 == e.getButton() )	// TECLA IZQUIERDA
			{
				if (Click==1) { JP.Xi = e.getX(); JP.Yi = e.getY(); Click=2; }
				else
				{
					JP.Xf = e.getX(); JP.Yf = e.getY();
					Click=1; JP.repaint();
				}
			}
		}
		public void	mouseEntered(MouseEvent e) {}
		public void	mouseExited(MouseEvent e) {}
		public void	mousePressed(MouseEvent e) {}
		public void	mouseReleased(MouseEvent e) {}
	}
}		// FIN DE LA CLASE PRINCIPAL


class Linea extends JPanel 
{
	int Xi=0, Yi=0, Xf=0, Yf=0;
	Color color = Color.white;
	int TipoDeGrafico = 1;	// 1=linea     2=circulo      3=cuadro

	public void paint(Graphics G)
	{
		G.setColor(Color.blue); G.fillRect(0, 0, 400, 400);
		G.setColor(color); 
		if (TipoDeGrafico==1) G.drawLine(Xi, Yi, Xf, Yf);
		if (TipoDeGrafico==2) G.drawOval(Xi, Yi, Xf, Yf);
		if (TipoDeGrafico==3) G.drawRect(Xi, Yi, Xf, Yf);
	}
}