giovedì 22 gennaio 2009

Questo è il risultato del precedente programma, nel quale c'è un rettangolo rosso fisso
il quale, passandoci sopra in senso orizzontale e solo con il tracciamento di un linea
entro il lato superiore e quello inferiore, cambia di colore (random).
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();
}
}

martedì 13 gennaio 2009

Il risultato cambia per l' aggiunta di questo comando
g.fillRect(clickx.clicky,25,25);
Aggiornamento del precedente programma

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class TestaMouseInput {
private JFrame f=new JFrame("tracciamento linee rette");
private Panello p=new Panello();
private Point sPoint=new Point();
private Point ePoint=new Point();
private int clickx;
private int clicky;
public TestaMouseInput(){
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 Panello extends JPanel{
public void paintComponent(Graphics g){
String xx="mouse cliccato"+clickx+","+clicky;
g.drawString(xx,10,20);
g.fillRect(clickx,clicky,25,25);
}
}
public static void main(String[] args){
TestaMouseInput t=new TestaMouseInput();
}
public class Linea implements MouseListener{
public void mousePressed(MouseEvent e){
clickx=e.getX()-9;
clicky=e.getY()-34;
f.repaint();
}
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;
f.repaint();
}
public void mouseMoved(MouseEvent e){}
}
}
Ecco il risultato del precedente programma




Il programma svolto il 13\01\09

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class TestaMouseInput {
private JFrame f=new JFrame("tracciamento linee rette");
private Panello p=new Panello();
private Point sPoint=new Point();
private Point ePoint=new Point();
private int clickx;
private int clicky;
public TestaMouseInput(){
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 Panello extends JPanel{
public void paintComponent(Graphics g){
String xx="mouse cliccato"+clickx+","+clicky;
g.drawString(xx,10,20);
}
}
public static void main(String[] args){
TestaMouseInput t=new TestaMouseInput();
}
public class Linea implements MouseListener{
public void mousePressed(MouseEvent e){
clickx=e.getX();
clicky=e.getY();
f.repaint();
}
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;
f.repaint();
}
public void mouseMoved(MouseEvent e){}
}
}