giovedì 22 gennaio 2009

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Interseca1 {
private JFrame f=new JFrame("Interseca retta con rettangolo");
private Pannello p=new Pannello();
private Point sPoint=new Point();
private Point ePoint=new Point();
int x0=100;
int y0=150;
int w=100;
int h=150;
private boolean intersecato=false;
public Interseca1(){
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(500,500);
f.add(p);
f.setVisible(true);
f.addMouseListener(new Linea());
f.addMouseMotionListener(new Linea1());
}
public class Pannello extends JPanel{
public void paintComponent(Graphics g){
if (intersecato==false){
g.setColor(Color.RED);
}
else {
g.setColor(getColor());
}
g.fillRect(x0,y0,w,h);
g.drawLine(sPoint.x,sPoint.y,ePoint.x,ePoint.y);
}
}
public Color getColor(){
int rosso=(int) (Math.random()*255);
int verde=(int) (Math.random()*255);
int blu=(int) (Math.random()*255);
Color colore=new Color(rosso,verde,blu);
return colore;
}
public void interseca(){
intersecato=false;
if((sPoint.xx0+w)&&(sPoint.y>y0)&&(sPoint.yy0)&&(ePoint.y intersecato=true;
}
}
public class Linea implements MouseListener{
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){
sPoint.x=e.getX()-9;
sPoint.y=e.getY()-34;
}
public void mouseReleased(MouseEvent e){
ePoint.x=e.getX()-9;
ePoint.y=e.getY()-34;
interseca();
f.repaint();
}
}
public class Linea1 implements MouseMotionListener{
public void mouseMoved(MouseEvent e){}
public void mouseDragged(MouseEvent e){
intersecato=false;
ePoint.x=e.getX()-9;
ePoint.y=e.getY()-34;
f.repaint();
}
}
public static void main(String[] args){
Interseca1 in1=new Interseca1();
}
}

Nessun commento: