java 画笔 粗细_java画图板画笔粗细的问题,急~~~~~高手速来帮忙改改!

importjava.awt.*;importjava.awt.event.*;importjava.awt.geom.*;importjava.awt.image.BufferedImage;importjavax.swing.*;importjava.io.*;importjavax.swing.*;importjava.util.V...

import java.awt.*;

import java.awt.event.*;

import java.awt.geom.*;

import java.awt.image.BufferedImage;

import javax.swing.*;

import java.io.* ;

import javax.swing.*;

import java.util.Vector;

// 定义监听窗口

public class killf

{

public static void main(String[] args)

{

DrawFrame frame = new DrawFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.show();

}

}

//图像界面的大小及调用

class DrawFrame extends JFrame{

public DrawFrame(){

setTitle("画图板");

setSize(900, 620);

DrawPanel pane1 = new DrawPanel();

Container contentPane = getContentPane();

contentPane.add(pane1,"Center");

}

}

class position implements Serializable

{

int x;

int y;

int type;

Color color;

}

// 创建内部类作监视器

class DrawPanel extends JPanel implements ActionListener,MouseListener,MouseMotionListener

{

int n=0;

Panel nonceColor;

Label drawWidth;

Label drawCap;

Color color;

BasicStroke stroke;

BufferedImage image;

ButtonCursor buttonCursor;

ButtonStrokeAction buttonStrokeAction;

/*

public void Palette() {

this.addMouseListener(this);

this.addMouseMotionListener(this);

// 默认黑色画笔

color = new Color(0, 0, 0);

// 设置默认画笔样式

stroke = new BasicStroke(3.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);

// 建立 1280 * 1024 的 RGB 缓存图象

image = new BufferedImage(1280, 1024, BufferedImage.TYPE_INT_RGB);

// 设置颜色

image.getGraphics().setColor(Color.white);

// 画背景

image.getGraphics().fillRect(0, 0, 1280, 1024);

}*/

展开

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论
1. 画板UI设计(总体布局) (1)创建窗体并设置相关属性; (2)给整个窗体添加一个中间容器用覆盖整个窗体; (3)设置边框布局因为整个画板大致为左边部分中间部分菜单栏三个部分用边框布局比较合适; (4)给窗体添加左面板中间面板; (5)给左面板添加按钮并设置按钮图片和效果; (6)给左面板添加左子面板存放颜色按钮; 2.画板功能设计 (1)给左画板中按钮组中每个按钮添加鼠标监听器; (2)点击不同按钮绘制不同图形; (3)给左子面板中每个颜色按钮添加鼠标监听器; (4)根据下面板中选中颜色按钮获取按钮背景颜色并将该颜色设置成画笔颜色; (5)铅笔功能 1、铅笔是鼠标拖动时画线所需要实现鼠标移动监听器我们采用一个类实现多个接口; 2、添加新鼠标监听器类; 3、在鼠标移动时间中实现画笔逻辑(其实就是绘制直线鼠标每移动一个像素就会触发移动事件通过移动事件获取鼠标坐标与上一次移动坐标连线就可以了; (6)刷子功能 刷子其实就是加粗画笔画出直线更粗这里需要用到Graphic2D画笔设置画笔粗细。 (7)橡皮擦功能 橡皮擦就是把画笔颜色设置成相同背景颜色就可以了拖动鼠标时进行擦除所以在鼠标拖动事件中编写。 (8)喷桶功能 1、定位方法:鼠标拖动事件实现; 2、随机数生成:Random; 3、实现原理在鼠标拖动附近绘制很多原点; 3. 画板保存和重绘设计 (1)给我们画板添加菜单条、菜单以及菜单项 (2)给每个菜单项添加监听器 (3)点击不同菜单项实现相应功能 (4)图形保存功能:利用对象输出流将容器对象写入文件; (5)打开图形功能:利用对象输入流将容器对象读入然后将容器里面图形对象在画板上绘制出 (6)新建文件功能:新建文件将画板上绘制内容清空(清空之前可以确认是否需要进行保存)清屏(重绘)功能依次方法; (7)文件保存格式为BMP格式; (8)文字功能:读取文本框中文本并打印到屏幕鼠标相应响应位置传入输入文字大小参数以此改变文字大小; 4.弹泡泡功能设计 根据Java多线程实现弹泡泡功能;泡泡位置颜色随机出现,并且做到碰到边框会变色;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
评论

打赏作者

李宜璞

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值