用java写的简易画图板(可以用作对图片签名,呵呵)

原创 2007年09月19日 14:18:00

这段程序是我的一个项目里的一段,原本设计的目的是实现对图片进行个性化手写签名,实现这样的方式有很多,但是由于这个项目是全触摸屏设备使用,没有鼠标和键盘,所以就这样设计了。基本思想是将图片作为背景,然后以手写板的方式直接绘制,然后生成新的图片,呵呵!可能有点小题大作,如果大家有什么别的方式实现,欢迎留言指教,本人虚心学习中。。。

程序代码如下:

import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class TestBackground implements MouseMotionListener,ActionListener {
 /**
  * 项目笔记
  */


 static final int r=3;
 static int ox, oy;
 static int flag=1;//颜色控制
 public static void main(String[] args) {
 JFrame f = new JFrame();
 
 JPanel panel = new JPanel() {
 
   ImageIcon  img = new ImageIcon("edit.jpg");
  public void paintComponent(Graphics g) {
   g.drawImage(img.getImage(), 0,40, this);
   super.paintComponent(g);
  }
 };

 panel.setLayout(new FlowLayout());
 
  JButton jButton1 = new JButton("红");
  JButton jButton2 = new JButton("黑");
  JButton jButton3 = new JButton("绿");
  JButton jButton4 = new JButton("保存");
  JButton jButton5 = new JButton("退出");
 
 
  panel.setOpaque(false);
  panel.add(jButton1);
  panel.add(jButton2);
  panel.add(jButton3);
  panel.add(jButton4);
  panel.add(jButton5);
 
  jButton1.addActionListener(new  TestBackground());
  jButton2.addActionListener(new  TestBackground());
  jButton3.addActionListener(new  TestBackground());
  jButton4.addActionListener(new  TestBackground());
  panel.addMouseMotionListener(new  TestBackground());
 
  f.setContentPane(panel);
  f.setSize(800, 600);
  f.setVisible(true);
 }

public void mouseDragged(MouseEvent e) {
 Container c=(Container)e.getSource();
    Graphics g=c.getGraphics();
     if (oy>=40) {
     if(flag==1){
      g.setColor(new Color(168,0,255));
      g.fillRect(ox, oy, 3, 3);}
     else if(flag==2){
      g.setColor(new Color(0,0,0));
     g.fillRect(ox, oy, 3, 3);
     }
     else{
      g.setColor(new Color(0,255,0));
       g.fillRect(ox, oy, 3, 3);
    }}
    ox=e.getX();oy=e.getY();
 
}
public void mouseMoved(MouseEvent e) {
    ox=-1;oy=-1;
 
}
public void actionPerformed(ActionEvent e) {
 if(e.getActionCommand().equals("红")){
      flag=1; }
     else if (e.getActionCommand().equals("黑")){
      flag=2;}
     else if (e.getActionCommand().equals("绿")){
      flag=3;}
     else if (e.getActionCommand().equals("退出"))
      System.exit(0);}
}

 

 


   
 

 

JAVA 实现签名和解签

用他私人密钥 (prikey) 对他所确认的信息 (info) 进行数字签名产生一个签名数组从文件中读入私人密钥 (prikey) java.io.ObjectInputStream in=ne...
  • lll350203041
  • lll350203041
  • 2014年11月25日 15:16
  • 10857

Java实现数字签名

一、数字签名算法概述    签名认证是对非对称加密技术与数字摘要技术的综合运用,指的是将通信内容的摘要信息使用发送者的私钥进行加密,然后将密文与原文一起传输给信息的接收者,接收者通过发送者的公钥信息来...
  • lovelichao12
  • lovelichao12
  • 2017年07月12日 14:35
  • 2421

一个用JAVA写的画图程序

 功能类似WINDOWS的画图程序,代码比较规范。对于刚刚接触图形界面开发的人很有帮助。(对我帮助也很大)import java.awt.*;import java.awt.event.*;impor...
  • ocelight
  • ocelight
  • 2008年10月10日 10:53
  • 15269

用Java实现简单画板

文章讲了用窗口监听机制实现简单画板。
  • wuduozhi_1997
  • wuduozhi_1997
  • 2017年03月22日 17:05
  • 828

java实现简易画图板源码

  • 2013年05月11日 00:48
  • 2KB
  • 下载

Java基础之简单画图板的实现

Java基础之简单画图板的实现 不难理解,画图板就是主要用鼠标的各种操作实现在窗体界面上绘图。所以实现一个简单的画图板,就必须先有一个事件源对象(窗体界面),为了更加美观,再在窗体界面上实例化两个面...
  • HNU_Csee_wjw
  • HNU_Csee_wjw
  • 2016年05月25日 23:11
  • 1311

Java小程序之画板入门

Java小程序之画板入门 前言:画板小程序是对之前Java中的类,继承,方法重载以及接口等知识的综合应用;            建议大家先去把相关知识看一下(我前面的博客中),在来看这个...
  • BlueSky_USC
  • BlueSky_USC
  • 2016年11月10日 11:52
  • 4151

java简单画图板实现

引子: 感谢阅读 希望作为读者的你们可以多多关注我的作品,并留言或者加我qq一起学习 因为之前自己在学习的时候总是觉得有些博主们讲的有些快,所以我会讲的比较详细,能力好的可以快速掠过~~...
  • SX_csu2016sw
  • SX_csu2016sw
  • 2017年08月02日 09:42
  • 2114

java简易小画板

  • 2012年11月21日 23:27
  • 14KB
  • 下载

java实现的一个画板小程序画直线,矩形,三角形以及拖动图形功能

  • 2015年03月15日 11:11
  • 11KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用java写的简易画图板(可以用作对图片签名,呵呵)
举报原因:
原因补充:

(最多只允许输入30个字)