我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 一个画画的板子...据说有浮云.. 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

vito



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
发贴: 2741
威望: 0
浮云: 1106
在线等级:
注册时间: 2005-10-14
最后登陆: 2009-10-16

5come5帮你背单词 [ lake /leik/ n. 湖,湖泊 ]


一个画画的板子...据说有浮云..

一个画画的板子,有修改

ms 这里有浮云, 版主来加吧

Quote:

package org.vito.draw.temp.test;

import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/**
* 一个可以写写画画的板子,有修改.
* @author vito
*
*/
public class Paintcha extends Applet{
    /**
     *
     */
    private static final long serialVersionUID = 4221836743513294553L;
   
    MyPanel panel;
    ShowPanel showPanel;
   
   
    public void init() {
        setLayout(new BorderLayout());
        panel = new MyPanel(); 
        panel.setForeground(Color.RED);
        showPanel = new ShowPanel(panel);              
        add("North",showPanel);
        add("Center", panel);
    }

    public void destroy() {
        remove(panel);     
    }
       
    public static void main(String args[]) {   
        Paintcha paint = new Paintcha();       
        Frame frame = new Frame("Ha ha ha ... ");       
        paint.init();       
        paint.start();            
        frame.add("Center", paint);
        frame.setSize(660, 400);       
        frame.setVisible(true);     
       
        frame.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e){
                System.exit(0);
            }
        });
    }
}
package org.vito.draw.temp.test;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Panel;
import java.awt.Rectangle;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.util.Vector;

/**
* 画画面板,有修改.
* @author vito
*
*/
class MyPanel extends Panel implements MouseListener, MouseMotionListener {
    /**
     *
     */
    private static final long serialVersionUID = 9123686144551555715L;
   
    //向量储存特征
    Vector<Rectangle> lines = new Vector<Rectangle>();
    Vector<Color> colors = new Vector<Color>();
   
    //位置
    int x1,y1;
    int x2,y2;
   
    public MyPanel() {
        setBackground(Color.WHITE);
        addMouseMotionListener(this);
        addMouseListener(this);
    } 

    /**
    * 拖
    */
    public void mouseDragged(MouseEvent e) {
        e.consume();     
        colors.addElement(getForeground());
        lines.addElement(new Rectangle(x1, y1, e.getX(), e.getY()));
        x1 = e.getX();
        y1 = e.getY();
        repaint();
    } 
   
    /**
    * 按住鼠标
    */
    public void mousePressed(MouseEvent e) {
        e.consume();
        colors.addElement(getForeground());
        lines.addElement(new Rectangle(e.getX(), e.getY(), -1, -1));
        x1 = e.getX();
        y1 = e.getY();
        repaint();
    }

    //Further ...
    public void mouseMoved(MouseEvent e) {}   
    public void mouseReleased(MouseEvent e) {}
    public void mouseEntered(MouseEvent e) {}
    public void mouseExited(MouseEvent e) {}
    public void mouseClicked(MouseEvent e) {}

    public void paint(Graphics g) {
        int points = lines.size();         
        g.setColor(getForeground());
       
        for (int i=0; i < points; i++) {
            Rectangle rec = (Rectangle)lines.elementAt(i);
            g.setColor((Color)colors.elementAt(i));
            //画法.
            if (rec.width != -1) {
                g.drawLine(rec.x, rec.y, rec.width, rec.height); 
            } else {
                g.drawLine(rec.x, rec.y, rec.x, rec.y); 
            }
        }       
    }
}
package org.vito.draw.temp.test;

import java.awt.Button;
import java.awt.Label;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

/**
* 显示面板.
* @author vito
*
*/
class ShowPanel extends Panel implements ActionListener{
    /**
     *
     */
    private static final long serialVersionUID = 6044523251854800419L;   
   
    MyPanel panel;
   
    Button redo;
    Label showLabel;
   
    public ShowPanel(MyPanel panel){
        this.panel = panel;
        showLabel = new Label("可以用鼠标在下面写写画画...点击...拖动");
        redo = new Button("Clean ...");   
        redo.addActionListener(this);
        add("West",showLabel);
        add("East",redo);       
    }
   
    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == redo){           
            panel.lines = new Vector();  //redefine
            panel.colors = new Vector();           
            panel.repaint();
        }
    }
}



目前就是这个样子...
发个附件哈
附件: paint.jar (5 K) 下载次数:11

本帖最近评分记录:
  • 浮云:5(est) 原创内容 无论如何都要鼓励原创
  • 浮云:5(kangtalc) 请看哪个帖子的活动内容,发这个还是小给你加点的。
  • 顶端 Posted: 2007-11-04 10:06 | [楼 主]
    lsy



    性别: 帅哥 状态: 该用户目前不在线
    头衔: 信我者,得永生
    等级: 人见人爱
    家族: YD一族
    发贴: 2226
    威望: 5
    浮云: 1591
    在线等级:
    注册时间: 2006-11-29
    最后登陆: 2009-10-01

    5come5帮你背单词 [ satellite /'sætəlait/ n. 沙丁鱼 ]


    这段代码怎么看着这么眼熟  
    顶端 Posted: 2007-11-04 13:11 | [1 楼]
    lsy



    性别: 帅哥 状态: 该用户目前不在线
    头衔: 信我者,得永生
    等级: 人见人爱
    家族: YD一族
    发贴: 2226
    威望: 5
    浮云: 1591
    在线等级:
    注册时间: 2006-11-29
    最后登陆: 2009-10-01

    5come5帮你背单词 [ economics /i:kə'nomiks/ n. 经济学 ]


    Quote:
    引用第8楼kangtalc于2007-11-04 13:37发表的  :

    本来也不是很难哈


    我是初学者不要打击我
    顶端 Posted: 2007-11-04 13:57 | [2 楼]
    我来我网·5come5 Forum » 程序员之家

    Total 0.011436(s) query 6, Time now is:11-22 17:30, Gzip enabled
    Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号