最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java基于GUI實現(xiàn)簡單畫筆小畫板

 更新時間:2022年06月10日 16:02:38   作者:fa1c4  
這篇文章主要為大家詳細介紹了java基于GUI實現(xiàn)簡單畫筆小畫板,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在一塊畫板上實現(xiàn)鼠標點擊畫圖案的功能(本文未實現(xiàn)拖動劃線功能),供大家參考,具體內容如下

思路

與java設計GUI的大體思路一致, 先設置Frame類作為框架, 其中添加組件類作為功能補充. 該設計中需要設置鼠標監(jiān)聽類, 給frame加上組件

this.addMouseListener(new MyMouseListener());

并自己實現(xiàn)一個監(jiān)聽類, implements需要重寫所有方法, 所以使用適配器

private class MyMouseListener extends MouseAdapter

給全局一個points數(shù)組變量, 保存所有點擊的點的信息, 然后重寫frame類的paint方法時改成迭代器依次畫數(shù)組中的點

@Override
? ? public void paint(Graphics g) {
? ? ? ? // paint listen on mouse event
? ? ? ? Iterator iterator = points.iterator();
? ? ? ? while (iterator.hasNext()){
? ? ? ? ? ? Point point = (Point) iterator.next();
? ? ? ? ? ? g.setColor(Color.GREEN);
? ? ? ? ? ? g.fillOval(point.x, point.y, 10, 10);
? ? ? ? }
? ? }

完整代碼

import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Iterator;

public class testmousepaint {
? ? public static void main(String[] args) {
? ? ? ? MyFrame myFrame = new MyFrame("IDEA");
? ? }
}

class MyFrame extends Frame{

? ? ArrayList points;

? ? public MyFrame(String title) {
? ? ? ? super(title);
? ? ? ? setBounds(200, 200, 400, 400);
? ? ? ? this.addMouseListener(new MyMouseListener());
? ? ? ? setVisible(true);
? ? ? ? setBounds(200,200,400,400);
? ? ? ? setBackground(Color.white);
? ? ? ? points = new ArrayList<>();
? ? }

? ? @Override
? ? public void paint(Graphics g) {
? ? ? ? // paint listen on mouse event
? ? ? ? Iterator iterator = points.iterator();
? ? ? ? while (iterator.hasNext()){
? ? ? ? ? ? Point point = (Point) iterator.next();
? ? ? ? ? ? g.setColor(Color.GREEN);
? ? ? ? ? ? g.fillOval(point.x, point.y, 10, 10);
? ? ? ? }
? ? }

? ? public void addpoint(Point point){
? ? ? ? points.add(point);
? ? }

? ? private class MyMouseListener extends MouseAdapter{
? ? ? ? @Override
? ? ? ? public void mousePressed(MouseEvent e) {
? ? ? ? ? ? MyFrame frame = (MyFrame) e.getSource();
? ? ? ? ? ? frame.addpoint(new Point(e.getX(), e.getY()));

? ? ? ? ? ? // click and paint every time
? ? ? ? ? ? frame.repaint();

? ? ? ? }
? ? }

}

實現(xiàn)效果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 使用ftpClient下載ftp上所有文件解析

    使用ftpClient下載ftp上所有文件解析

    最近項目需要寫個小功能,需求就是實時下載ftp指定文件夾下的所有文件(包括子目錄)到本地文件夾中,保留文件到目錄路徑不變。今天小編給大家分享使用ftpClient下載ftp上所有文件的方法,需要的的朋友參考下吧
    2017-04-04
  • Java獲取當前系統(tǒng)事件System.currentTimeMillis()方法

    Java獲取當前系統(tǒng)事件System.currentTimeMillis()方法

    下面小編就為大家?guī)硪黄狫ava獲取當前系統(tǒng)事件System.currentTimeMillis()方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Springboot實現(xiàn)定時任務的4種方式舉例詳解

    Springboot實現(xiàn)定時任務的4種方式舉例詳解

    在我們開發(fā)項目過程中經(jīng)常需要定時任務來幫助我們來做一些內容,下面這篇文章主要給大家介紹了關于Springboot實現(xiàn)定時任務的4種方式,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • SpringBoot集成Memcached的項目實踐

    SpringBoot集成Memcached的項目實踐

    Memcached是一個高性能的分布式內存對象緩存系統(tǒng),用于動態(tài)Web應用以減輕數(shù)據(jù)庫負載,本文主要介紹了SpringBoot集成Memcached的項目實踐,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • java實現(xiàn)單鏈表中的增刪改

    java實現(xiàn)單鏈表中的增刪改

    這篇文章主要為大家詳細介紹了java實現(xiàn)單鏈表中的增刪改,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • SpringMVC使用MultipartResolver實現(xiàn)文件上傳

    SpringMVC使用MultipartResolver實現(xiàn)文件上傳

    MultipartResolver 用于處理文件上傳,當收到請求時 DispatcherServlet 的 checkMultipart() 方法會調用 MultipartResolver 的 isMultipart() 方法判斷請求中是否包含文件
    2023-02-02
  • idea2022創(chuàng)建javaweb項目步驟(超詳細)

    idea2022創(chuàng)建javaweb項目步驟(超詳細)

    本文主要介紹了idea2022創(chuàng)建javaweb項目步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • 深入了解java Lombok的使用方法

    深入了解java Lombok的使用方法

    這篇文章主要介紹了深入了解java Lombok的使用,Lombok是一個通過注解以達到減少代碼的Java庫,如通過注解的方式減少get,set方法,構造方法等,需要的朋友可以參考下
    2019-06-06
  • Java?深入淺出解析面向對象之抽象類和接口

    Java?深入淺出解析面向對象之抽象類和接口

    本章具體介紹了抽象類和接口,整篇文章用目前流行的手機來舉例,圖解穿插代碼案例。?JAVA成仙路從基礎開始講,后續(xù)會講到JAVA高級,中間會穿插面試題和項目實戰(zhàn),希望能給大家?guī)韼椭?/div> 2022-03-03
  • Java 反射機制實例詳解

    Java 反射機制實例詳解

    這篇文章主要介紹了Java 反射機制實例詳解的相關資料,這里對java中反射機制進行了詳細的分析,需要的朋友可以參考下
    2017-09-09

最新評論

宜良县| 滦南县| 广德县| 曲松县| 吉安县| 乌兰浩特市| 百色市| 那坡县| 曲麻莱县| 奉节县| 龙里县| 扬州市| 石台县| 邛崃市| 抚远县| 阿巴嘎旗| 印江| 瑞安市| 若羌县| 仁化县| 开平市| 闸北区| 固原市| 宜宾市| 阿克陶县| 中山市| 徐闻县| 中阳县| 泗水县| 海安县| 休宁县| 高密市| 新建县| 双辽市| 宜黄县| 吴江市| 大洼县| 织金县| 宁津县| 炎陵县| 奎屯市|