我有一些代码来绘制矩形.它用于在JPanel上绘制矩形,以标记小部件的边界.这里代码首先,之后我将解释我的问题cq.题.
首先,我有一个扩展JPanel的类(WidgetDrawingPanel).
public WidgetDrawingPanel(int width,int height) {
/*To make things visible at least*/
widgets.add(new Widget(10,10,100,WidgetType.TextField));
widgets.add(new Widget(50,50,200,WidgetType.TextField));
this.width = width;
this.height = height;
this.setBackground(Color.BLUE);
addListener(); //adds both MouseMotionListener and MouseListener
}
下面你会看到我参考很多.这是一个CoordinateHolder,它保存鼠标移动的开始和当前坐标.
private void addListener() {
this.addMouseMotionListener(new MouseMotionListener() {
@Override
public void mouseDragged(MouseEvent arg0) {
ch.currentX = arg0.getX();
ch.currentY = arg0.getY();
System.out.println("dragging " + ch.currentX + "