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