这个有点复杂。因为Component并没有默认的拉伸事件监听。给你提供个思路吧。
建一个继承ImageIcon的类,比如说叫MyImage,里面监听MouseMotionEvent.mouseMoved事件,判断鼠标的坐标,比如说是
(0, 0)--(5, 5)这个范围的话,鼠标光标变成NW箭头,
(width-5, 0)--(width, 5)的话变成NE箭头
(0, height-5)--(5, height)的话变成SW箭头
(width-5, height-5)--(width, height)的话变成SE箭头
这些是鼠标在四角位置的判断。
在调用这个MyImage类的时候,为其添加MouseEvent,监听其MouseDragged事件,根据鼠标所在位置决定是哪一点的坐标如何变化。四个角需要单独照顾到。
逻辑上不复杂,实现起来代码稍微有点繁琐,主要是判断鼠标所在的角,和鼠标移动时图片的尺寸和坐标应该怎么设置。