Swing中依據(jù)鼠標(biāo)拖拽來(lái)畫(huà)出矩形的實(shí)現(xiàn)方法
畫(huà)了好久,草要么就是畫(huà)了,沒(méi)插掉原先線(xiàn)條,要么就是畫(huà)第二個(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-03SpringTask實(shí)現(xiàn)定時(shí)任務(wù)方法講解
通過(guò)重寫(xiě)Schedu lingConfigurer方法實(shí)現(xiàn)對(duì)定時(shí)任務(wù)的操作,單次執(zhí)行、停止、啟動(dòng)三個(gè)主要的基本功能,動(dòng)態(tài)的從數(shù)據(jù)庫(kù)中獲取配置的定時(shí)任務(wù)cron信息,通過(guò)反射的方式靈活定位到具體的類(lèi)與方法中2023-02-02WebsocketClient斷線(xiàn)的一些常見(jiàn)原因及解決辦法
這篇文章主要給大家介紹了關(guān)于WebsocketClient斷線(xiàn)的一些常見(jiàn)原因及解決辦法,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用WebsocketClient斷線(xiàn)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-12-12Java線(xiàn)程池的簡(jiǎn)單使用方法實(shí)例教程
線(xiàn)程的使用在java中占有極其重要的地位,在jdk1.4極其之前的jdk版本中,關(guān)于線(xiàn)程池的使用是極其簡(jiǎn)陋的,在jdk1.5之后這一情況有了很大的改,這篇文章主要給大家介紹了關(guān)于Java線(xiàn)程池的簡(jiǎn)單使用方法,需要的朋友可以參考下2021-10-10IntelliJ IDEA中查看文件內(nèi)所有已聲明的方法(類(lèi)似eclipse的outline)
今天小編就為大家分享一篇關(guān)于IntelliJ IDEA中查看文件內(nèi)所有已聲明的方法(類(lèi)似eclipse的outline),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10Java 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-10SpringAop實(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