作业四
Posted L1019
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了作业四相关的知识,希望对你有一定的参考价值。
简单的画图软件
主要代码
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由于能力有限,做的不很精美
合照
以上是关于作业四的主要内容,如果未能解决你的问题,请参考以下文章