// 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);
}
}