|
|
|
@ -11,6 +11,7 @@ import com.fr.design.style.color.ColorSelectDialog;
|
|
|
|
|
import com.fr.design.style.color.ColorSelectable; |
|
|
|
|
import com.fr.stable.AssistUtils; |
|
|
|
|
|
|
|
|
|
import com.fr.stable.os.OperatingSystem; |
|
|
|
|
import javax.swing.JComponent; |
|
|
|
|
import javax.swing.event.ChangeEvent; |
|
|
|
|
import javax.swing.event.ChangeListener; |
|
|
|
@ -124,14 +125,20 @@ public class GradientBar extends JComponent implements UIObserver, ColorSelectab
|
|
|
|
|
protected void addMouseDragListener() { |
|
|
|
|
this.addMouseMotionListener(new MouseAdapter() { |
|
|
|
|
public void mouseDragged(MouseEvent e) { |
|
|
|
|
|
|
|
|
|
int oldIndex = index; |
|
|
|
|
for (int i = 0; i < list.size(); i++) { |
|
|
|
|
if (list.get(i).contains(e.getX(), e.getY())) { |
|
|
|
|
index = i; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(OperatingSystem.isLinux() && AssistUtils.equals(oldIndex,index)){ |
|
|
|
|
if(Math.abs(p1.getX() - e.getX()) > Math.abs(p2.getX() - e.getX())){ |
|
|
|
|
index = 1; |
|
|
|
|
}else{ |
|
|
|
|
index = 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
boolean x = e.getX() <= max && e.getX() >= min; |
|
|
|
|
if (x && e.getY() < MAX_VERTICAL) { |
|
|
|
|
list.get(index).setX(e.getX()); |
|
|
|
|