import java.awt.Event; import java.awt.Graphics; import java.awt.Point; public class PlotSensitive_bZoom extends Plot_b { Zoom Owner; int MaxEpsArea = 5; int SelectedIndex, SelectedBranchenIndex; int MaxSize = 100; boolean Selected = false; double fingerY; public PlotSensitive_bZoom(Zoom Owner) { super(Owner); this.Owner = Owner; } protected void draw(Graphics g, int first_point) { super.draw(g,first_point); } /********************************************************************** * Sucht den n�hsten zum Click Punk und ergibt seinen index * **********************************************************************/ private boolean findPoint(int x, int y) { float distance; SelectedIndex = -1; SelectedBranchenIndex = -1; float EpsArea =(float) MaxEpsArea; for (int i = 0; i < dAusgabe.size(); i++) { DataObject dob = (DataObject)(dAusgabe.elementAt(i)); if (dob.doForm == 2) { DataPoint dpt1 = new DataPoint(dob.doX1,dob.doY1,dob.doColor); Point pt1 = transformPoint(dpt1); DataPoint dpt2 = new DataPoint(dob.doX2,dob.doY2,dob.doColor); Point pt2 = transformPoint(dpt2); if ((x >= pt1.x) && (x <= pt2.x) && (y <= pt2.y) && (y >= pt1.y)) { SelectedIndex = i; break; } } } if (SelectedIndex == -1) { for (int i = 0; i < branchenLabel.size(); i++) { DataObject dob = (DataObject)(branchenLabel.elementAt(i)); if (dob.doForm == 13) { if ((x >= dob.doX1-(dob.doX2/4)) && (x <= dob.doX1+(3*dob.doX2/4)) && (y >= dob.doY1-dob.doY2) && (y <= dob.doY1)) { SelectedBranchenIndex = i; } } } } if (SelectedIndex > -1) { super.stelle = SelectedIndex; super.stelleBranche = -1; super.repaint(); return true; } else if (SelectedBranchenIndex > -1) { super.stelle = -1; super.stelleBranche = SelectedBranchenIndex; super.repaint(); return true; } else { super.stelle = -1; super.stelleBranche = -1; super.repaint(); return false; } } public boolean mouseDown(Event evt, int x, int y) { return true; } public boolean mouseUp(Event evt, int x, int y) { return true; } public boolean mouseDrag(Event evt, int x, int y) { return true; } public boolean mouseMove(Event evt, int x, int y) { Selected = findPoint (x, y); return true; } }