lunedì 19 gennaio 2009

Compito Java del 19/01/09

Ecco quello che sono riuscito a fare in 100 minuti dati a disposizione per il compito. Non è completo ma è buona parte

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class CompitoRettangolo {
private JFrame f=new JFrame("Tracciare Linee Rette");
private Pannello p=new Pannello();
private Point sPoint=new Point();
private Point ePoint=new Point();
public CompitoRettangolo(){
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(500,500);
f.add(p);
f.addMouseListener(new Linea());
f.addMouseMotionListener(new Linea1());
f.setVisible(true);
}
public class Pannello extends JPanel{
public void paintComponent(Graphics g){
g.setColor(getColore());
g.fillRect(150,150,200,150);
g.drawLine(sPoint.x,sPoint.y,ePoint.x,ePoint.y);
}
private Color getColore(){
int verde=(int) (Math.random()*255);
int rosso=(int) (Math.random()*255);
int blu=(int) (Math.random()*255);
Color colore=new Color(verde,rosso,blu);
return colore;
}
}
public static void main(String[] args){
CompitoRettangolo t=new CompitoRettangolo();
}
public class Linea implements MouseListener{
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;
f.repaint();
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
}
public class Linea1 implements MouseMotionListener{
public void mouseDragged(MouseEvent e){
ePoint.x=e.getX()-9;
ePoint.y=e.getY()-34;
}
public void mouseMoved(MouseEvent e){}
}

}