广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java实现简易画图板
  • 545
分享到

Java实现简易画图板

2024-04-02 19:04:59 545人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

本文实例为大家分享了Java实现简易画图板的具体代码,供大家参考,具体内容如下 这是windows系统自带的画图板,我们就是模仿着用Java去写一个简易版的画图板。 效果图 图中

本文实例为大家分享了Java实现简易画图板的具体代码,供大家参考,具体内容如下

这是windows系统自带的画图板,我们就是模仿着用Java去写一个简易版的画图板。

效果图

图中的四个颜色按钮是可以配合要画的图形而改变线条颜色的,而且每次打开颜色按钮的颜色都是随机的。目前画图什么的都没什么问题,只是一些细节没有去完全修复了,但不影响使用,再加上近段时间有点太忙,就没有去完善相关细节了,有兴趣的小伙伴可以评论区帮忙提出指正意见哈。

画图板UI界面代码

import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import java.awt.Graphics;
import java.util.Random;

public class DrawGraphics {
    Random rand=new Random();
     public static void main(String []args){
        DrawGraphics draw=new DrawGraphics();
        draw.displayUI();
     }
    public JButton getButton(String s,DrawListener dl,boolean flag){
        JButton btn=new JButton();
        //每个按钮的尺寸
        Dimension dim=new Dimension(200,50);
        //如果flag为true,创建文字按钮,否则创建颜色按钮
        if(flag){
            btn=new JButton(s);
        }
        else{
            Color c= new Color(rand.nextInt(256),rand.nextInt(256),rand.nextInt(256));
            btn.setBackground(c);
        }
        btn.setPreferredSize(dim);
        btn.addActionListener(dl);
        return btn;
    }
    
    public void displayUI(){
        JFrame frame=new JFrame();
        FlowLayout f1=new FlowLayout();
        
        frame.setTitle("画图板");
        frame.setSize(1000,1000);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        frame.setLayout(f1);
        frame.setResizable(false);
        
        DrawListener dl=new DrawListener();
        
        String []name={"直线","矩形","圆","三角形"};
        for(int i=0;i<name.length;i++){
            
            frame.add(getButton(name[i],dl,true));
        }
        for(int i=0;i<name.length;i++){
            frame.add(getButton("",dl,false));
        }
        
        frame.addMouseListener(dl);
        frame.setVisible(true);
        // 获取画笔 --- 必须要放在 可视化之后
        Graphics g=frame.getGraphics();
        dl.g=g;
        dl.btnstr=name[0];
        dl.name=name;
        
    }
}

画图板UI监听器代码

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JButton;

import java.awt.Color;
import java.awt.Graphics;

public class DrawListener implements MouseListener,ActionListener{

    Graphics g;
    int x1,x2,y1,y2;
    int x3,x4,x5,y3,y4,y5;
    int count=0;
    String []name;
    String btnstr;
    
    int i;
    @Override
    public void actionPerfORMed(ActionEvent e) {
        btnstr=e.getActionCommand();
        if(btnstr.equals("")){
            JButton btn=(JButton)e.getSource();
            Color btnColor=btn.getBackground();
            g.setColor(btnColor);
        }
        else {
            for(i=0;i<name.length;i++){
                if(btnstr.equals(name[i]))break;
            }    
        }
                
    }
    
    @Override
    public void mouseClicked(MouseEvent e) {
        if(btnstr.equals(name[3])||btnstr.equals("")){
        g.drawOval(e.getX()-4, e.getY()-4, 8, 8);
        if(count==0){
            x3=e.getX();
            y3=e.getY();
            count++;
        }
        else if(count==1){
            x4=e.getX();
            y4=e.getY();
            g.drawLine(x3, y3, x4, y4);
            count++;
        }
        else if(count==2){
            x5=e.getX();
            y5=e.getY();
            g.drawLine(x3, y3, x5, y5);
            g.drawLine(x4, y4, x5, y5);
            count=0;
        }
        }        
    }

    @Override
    public void mousePressed(MouseEvent e) {
        // TODO Auto-generated method stub
        x1=e.getX();
        y1=e.getY();
    }

    @Override
    public void mouseReleased(MouseEvent e) {
        // TODO Auto-generated method stub
        
        x2=e.getX();
        y2=e.getY();
        if(btnstr.equals(name[0])||btnstr.equals("")){
            g.drawLine(x1, y1, x2, y2);
        }
        else if(btnstr.equals(name[1])||btnstr.equals("")){
            g.drawRect(Math.min(x1,x2),Math.min(y1,y2),Math.abs(x2-x1),Math.abs(y1-y2));
        }
        else if(btnstr.equals(name[2])||btnstr.equals("")){

            g.drawOval(Math.min(x1,x2),Math.min(y1,y2),Math.abs(x2-x1),Math.abs(y1-y2));
        }
        
    }

    @Override
    public void mouseEntered(MouseEvent e) {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void mouseExited(MouseEvent e) {
        // TODO Auto-generated method stub
        
    }
       
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Java实现简易画图板

本文链接: https://www.lsjlt.com/news/162114.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java实现简易画图板
    本文实例为大家分享了Java实现简易画图板的具体代码,供大家参考,具体内容如下 这是Windows系统自带的画图板,我们就是模仿着用Java去写一个简易版的画图板。 效果图 图中...
    99+
    2022-11-12
  • C#实现简易画图板的示例代码
    编程环境 VS2019、C# 画板功能演示 实现简单画图 打开功能 可打开jpg格式的文件 保存功能 可将绘画的内容保存为jpg文件 颜色选择功能 用户可自由选择所需的颜色...
    99+
    2022-11-12
  • 使用C#怎么实现一个简易画图板
    本篇文章为大家展示了使用C#怎么实现一个简易画图板,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。定义公共变量用于多个窗体之间共同使用数据public class TempData...
    99+
    2023-06-14
  • Java实现简单画画画板
    用Java实现简单的画画画板,供大家参考,具体内容如下 一、代码 先直接上代码吧,备注大部分都在代码中。 import java.awt.*; import javax.swing....
    99+
    2022-11-13
  • Java实现简单小画板
    Java制作简单画板,包括两个类,一个主要画板类Drawpad,一个画板监听器DrawListener类。 1、Drawpad类,包括画板,画板功能设计,保存图片等 package ...
    99+
    2022-11-13
  • Android自定义View实现简易画板功能
    本文实例为大家分享了Android自定义View实现简易画板的具体代码,供大家参考,具体内容如下 自定义VIew实现简易画板效果,功能包括清空、选择颜色,选择大小,效果如下 画板布...
    99+
    2022-11-13
  • Java如何实现简单画板
    本文小编为大家详细介绍“Java如何实现简单画板”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java如何实现简单画板”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、代码先直接上代码吧,备注大部分都在代码中。...
    99+
    2023-07-02
  • 用Java实现简单画板功能
    现在,我们来讲一下怎么用Java来实现简单画板,要实现的功能有:选择图形(方形、圆形、多边形...)、可以选择颜色。 首先,打开windows下的画图软件,我们知道我们需要一个窗体(...
    99+
    2022-11-13
  • Java如何实现简单小画板
    今天小编给大家分享一下Java如何实现简单小画板的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Java制作简单画板,包括两个...
    99+
    2023-07-02
  • java基于GUI实现简单画笔小画板
    在一块画板上实现鼠标点击画图案的功能(本文未实现拖动划线功能),供大家参考,具体内容如下 思路 与java设计GUI的大体思路一致, 先设置Frame类作为框架, 其中添加组件类作为...
    99+
    2022-11-13
  • Android怎么自定义View实现简易画板功能
    这篇文章主要介绍“Android怎么自定义View实现简易画板功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Android怎么自定义View实现简易画板功能”文章能帮助大家解决问题。自定义VIe...
    99+
    2023-06-30
  • OpenCV实现简易标定板
    本文实例为大家分享了OpenCV实现简易标定板的具体代码,供大家参考,具体内容如下 使用OpenCV生成标定板图片,然后找高精度打印机进行打印,贴在硬板上,就可以得到一个简易的标定板...
    99+
    2022-11-12
  • Android图片翻转动画简易实现代码
    下面给大家分享一个有趣的动画:这里比较适合一张图片的翻转,如果是多张图片,可以参考APIDemo里的例子,就是加个ArrayAdapter,还是简单的,也可以自己发挥修改,实现...
    99+
    2022-06-06
    动画 Android
  • Java Swing实现画板的简单操作
    Java Swing 画板的操作(修改颜色,更改图形,清除,任务栏按钮),供大家参考,具体内容如下 话不多说,直接看代码 package Swing; import javax.sw...
    99+
    2022-11-13
  • java实现简易版简易版dubbo
    目录一、dubbo简介二、架构设计三、开发工具四、一步步实现4.1 客户端消费实现4.2 服务实例曝光到注册中心4.3 自动化配置实现五、测试5.1 编写api5.2 实现api,标...
    99+
    2022-11-12
  • 基于java实现画图板功能
    本文实例为大家分享了java实现画图板功能的具体代码,供大家参考,具体内容如下 一、介绍 这个画图板主要实现的功能是画矩形(矩形使用的是一个函数画图的方法,这样画出来的图形比较有特点...
    99+
    2022-11-12
  • Java如何实现画图板功能
    Java可以使用JavaFX或Swing来实现画图板功能。下面是一个简单的示例代码,演示如何使用JavaFX实现一个简单的画图板:`...
    99+
    2023-08-18
    Java
  • vue.js实现简易折叠面板
    本文实例为大家分享了vue.js实现简易折叠面板的具体代码,供大家参考,具体内容如下 代码如下: 主文件:app.vue <template> <div ...
    99+
    2022-11-12
  • Java实现简易图书借阅系统
    在简单学习Java的基础知识点后,动手做了一个十分简陋的图书馆借阅系统,作为对所学知识的综合应用,有不足的地方希望大家多多评论,会积极进行改正。 1.先附上总的效果 一开始的登录界面...
    99+
    2022-11-13
  • php怎么实现简易留言板
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。php怎么实现简易留言板?PHP+MySql实现一个简单的留言板://嗯,跟着书学的,代码不是自己写的,但是都能理解,有时间自己去写个好看一点的吼吼吼~(不熟练花了一天...
    99+
    2014-08-31
    php 留言板
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作