首页 > 代码库 > 作业四
作业四
简单的画图软件
主要代码
package com.listener;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Paint;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.event.MouseMotionListener;import java.util.ArrayList;import java.util.concurrent.Callable;import java.util.concurrent.FutureTask;import javax.swing.JButton;import javax.swing.JPanel;import com.board.Board;public class LineListener implements MouseListener,ActionListener,MouseMotionListener{ Board board; JPanel zone; Graphics g; Graphics2D g2; Paint paint; public final int LINE=1; public final int RECT=2; public final int CIRCLE=3; public int fig=0; ArrayList listx=new ArrayList(); ArrayList listy=new ArrayList(); int x1=0; int x2=0; int y1=0; int y2=0; @Override public void mouseClicked(MouseEvent e) { // TODO 自动生成的方法存根 switch(fig){ case LINE:drawline(e) ; case RECT: drawrect(e); case CIRCLE: drawcircle(e); } } /* * draw circle */ public void drawcircle(MouseEvent e){ getzone(e); if(g==null){ g=zone.getGraphics(); } g.drawOval(e.getX(), e.getY(), 40, 40); zone.paintComponents(g); } /* * draw rect */ public void drawrect(MouseEvent e){ getzone(e); if(g==null){ g=zone.getGraphics(); } g.drawRect(e.getX(), e.getY(), 40, 40); zone.paintComponents(g); } /* * draw line */ public void drawline(MouseEvent e){ getzone(e); if(g==null){ g=zone.getGraphics(); } if(x1==0&&y1==0){ //g.drawLine(x1, y1, x1+20, y1+10); x2=e.getX(); y2=e.getY(); g.drawLine(x2, y2, x2, y2); listx.add(x2); listy.add(y2); x1=x2; y1=y2; } else{ x2=e.getX(); y2=e.getY(); g.drawLine(x1, y1, x2, y2); listx.add(x2); listy.add(y2); x1=x2; y1=y2; } zone.paintComponents(g);//show line System.out.println(x1+"/n"+y1); } /* * get zone to draw * */ public void getzone(MouseEvent e){ if(zone==null){ zone=(JPanel) e.getSource(); } } @Override public void mouseEntered(MouseEvent arg0) { // TODO 自动生成的方法存根 } @Override public void mouseExited(MouseEvent arg0) { // TODO 自动生成的方法存根 } @Override public void mousePressed(MouseEvent arg0) { // TODO 自动生成的方法存根 } @Override public void mouseReleased(MouseEvent arg0) { // TODO 自动生成的方法存根 } @Override public void actionPerformed(ActionEvent e) { // TODO 自动生成的方法存根 JButton but=(JButton) e.getSource(); if(but.getText()=="线 "){ fig=LINE; } else if(but.getText()=="矩形"){ fig=RECT; } else if(but.getText()=="圆形"){ fig=CIRCLE; } } @Override public void mouseDragged(MouseEvent e) { // TODO 自动生成的方法存根 drawline(e); } @Override public void mouseMoved(MouseEvent arg0) { // TODO 自动生成的方法存根 } }
心得
1在团队合作中要注意交流,在此次合作总由于没有很好的交流,导致花费时间较多
2由于能力有限,做的不很精美
合照
作业四
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。