Swing中依據(jù)鼠標(biāo)拖拽來(lái)畫出矩形的實(shí)現(xiàn)方法
畫了好久,草要么就是畫了,沒(méi)插掉原先線條,要么就是畫第二個(gè)的時(shí)候第一個(gè)也被擦掉,但其實(shí)只要調(diào)用repaint方法就好了…
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
class Rect extends JFrame{
public static void main(String[] args) {
Rect r=new Rect();
}
Draw draw=new Draw();
public Rect()
{
this.add(draw);
this.addMouseListener(draw);
this.setSize(500,500);
this.setLocation(400,400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class Draw extends JPanel implements MouseListener {
int x1 = 0;
int y1 = 0;
int x2 = 0;
int y2 = 0;
public void paint(Graphics g) {
// super.paint(g);
g.setColor(Color.BLUE);
g.drawRect(x1, y1, x2 - x1, y2 - y1);
}
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
x1 = e.getX();
y1 = e.getY();
}
@Override
public void mouseReleased(MouseEvent e) {
x2 = e.getX();
y2 = e.getY();
this.repaint();
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java與WebUploader相結(jié)合實(shí)現(xiàn)文件上傳功能(實(shí)例代碼)
這篇文章主要介紹了Java結(jié)合WebUploader實(shí)現(xiàn)文件上傳功能,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03
SpringTask實(shí)現(xiàn)定時(shí)任務(wù)方法講解
通過(guò)重寫Schedu lingConfigurer方法實(shí)現(xiàn)對(duì)定時(shí)任務(wù)的操作,單次執(zhí)行、停止、啟動(dòng)三個(gè)主要的基本功能,動(dòng)態(tài)的從數(shù)據(jù)庫(kù)中獲取配置的定時(shí)任務(wù)cron信息,通過(guò)反射的方式靈活定位到具體的類與方法中2023-02-02
IntelliJ IDEA中查看文件內(nèi)所有已聲明的方法(類似eclipse的outline)
今天小編就為大家分享一篇關(guān)于IntelliJ IDEA中查看文件內(nèi)所有已聲明的方法(類似eclipse的outline),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10
Java HashMap三種循環(huán)遍歷方式及其性能對(duì)比實(shí)例分析
這篇文章主要介紹了Java HashMap三種循環(huán)遍歷方式及其性能對(duì)比,結(jié)合具體實(shí)例形式分析了Java HashMap三種循環(huán)遍歷方式的實(shí)現(xiàn)方法、運(yùn)行效率及性能優(yōu)劣,需要的朋友可以參考下2019-10-10
SpringAop實(shí)現(xiàn)原理及代理模式詳解
Spring的AOP就是通過(guò)動(dòng)態(tài)代理實(shí)現(xiàn)的,使用了兩個(gè)動(dòng)態(tài)代理,分別是JDK的動(dòng)態(tài)代理和CGLIB動(dòng)態(tài)代理,本文重點(diǎn)給大家介紹下SpringAop實(shí)現(xiàn)原理及代理模式,感興趣的朋友一起看看吧2022-04-04

