Swing中依据鼠标拖拽来画出矩形的实现方法
画了好久,草要么就是画了,没插掉原先线条,要么就是画第二个的时候第一个也被擦掉,但其实只要调用repaint方法就好了…
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.MouseEvent;
importjava.awt.event.MouseListener;
classRectextendsJFrame{
publicstaticvoidmain(String[]args){
Rectr=newRect();
}
Drawdraw=newDraw();
publicRect()
{
this.add(draw);
this.addMouseListener(draw);
this.setSize(500,500);
this.setLocation(400,400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
classDrawextendsJPanelimplementsMouseListener{
intx1=0;
inty1=0;
intx2=0;
inty2=0;
publicvoidpaint(Graphicsg){
//super.paint(g);
g.setColor(Color.BLUE);
g.drawRect(x1,y1,x2-x1,y2-y1);
}
@Override
publicvoidmouseClicked(MouseEvente){
}
@Override
publicvoidmousePressed(MouseEvente){
x1=e.getX();
y1=e.getY();
}
@Override
publicvoidmouseReleased(MouseEvente){
x2=e.getX();
y2=e.getY();
this.repaint();
}
@Override
publicvoidmouseEntered(MouseEvente){
}
@Override
publicvoidmouseExited(MouseEvente){
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。