il mio problema è che non riesco a far funzionare il metodo dragged sapete darmi una risposta del perchè non funziona?
qui tutte le cose che ho importatocodice:private class TraslaMouseInputListener extends MouseAdapter implements MouseMotionListener { private double mouseX, mouseY; private Point2D.Double p1; public void mousePressed(MouseEvent event) { mouseX = event.getX(); mouseY = event.getY(); } public void mouseDragged(MouseEvent event) { System.out.println("dentro dragged"); int currMouseX = event.getX(); int currMouseY = event.getY(); if(casa[traslare]!=null && casa[traslare].contains(mouseX, mouseY)) {//test su mouseX e mouseY !!! casa[traslare].x+= currMouseX - mouseX; casa[traslare].y += currMouseY - mouseY; mouseX = currMouseX; mouseY = currMouseY; repaint(); } } public void mouseReleased(MouseEvent event) { int currMouseX = event.getX(); int currMouseY = event.getY(); int i=0; while(i<(maxParcheggi)) { if(casa[i]!=null && casa[i].contains(mouseX, mouseY)) { //test su mouseX e mouseY !!! Rectangle2D tempor=new Rectangle2D.Double(casa[i].x,casa[i].y,casa[i].width,casa[i].height); double width=casa[i].width; double height=casa[i].height; // System.out.println("mouse released"+currMouseX); //System.out.println("mouse released"+ currMouseY); traslare=i; casa[i].x += currMouseX - mouseX; casa[i].y += currMouseY - mouseY; mouseX = currMouseX; mouseY = currMouseY; System.out.println("traslare"+traslare); //qui effettuare il controllo dell'intersezione if(ControlloRuotaTrasla(casa[i],i) && ControlloPerimetro(casa[i]) ) { } else{ casa[i].x=tempor.getX(); casa[i].y=tempor.getY(); casa[i].height = height; casa[i].width =width; } } i++; } repaint(); }
codice:import java.awt.*; import java.io.*; import javax.imageio.*; import java.awt.event.*; import java.awt.geom.*; import java.awt.image.*; import javax.swing.*; import java.lang.Math; import java.lang.String; import javax.swing.JColorChooser;

Rispondi quotando


