⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 draw.java

📁 画直线 圆 矩形 等等 可以供初学者使用
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
  		    g.drawRect(rectx1[i] , recty1[i] , rectx2[i] - rectx1[i] , recty2[i] - recty1[i]) ; 
  	}
  	else
  	{ 
  		if(isFilled)
  		{
  			g.fillRect(rectx1[i] , recty2[i] , rectx2[i] - rectx1[i] , recty1[i] - recty2[i]);
  		}
  		else
  		    g.drawRect(rectx1[i] , recty2[i] , rectx2[i] - rectx1[i] , recty1[i] - recty2[i]) ;
  	} 
}
else
{ 
  if(recty2[i] > recty1[i]) 
  { 
  	if(isFilled)
  	{
  		g.fillRect(rectx2[i] , recty1[i] , rectx1[i] - rectx2[i] , recty2[i] - recty1[i]) ;
  	}
  	else
  	    g.drawRect(rectx2[i] , recty1[i] , rectx1[i] - rectx2[i] , recty2[i] - recty1[i]) ;
  	 
  }
  else
  { 
  	if(isFilled)
  	{
  		g.fillRect(rectx2[i] , recty2[i] , rectx1[i] - rectx2[i] , recty1[i] - recty2[i]) ;
  	}
  	else
  	    g.drawRect(rectx2[i] , recty2[i] , rectx1[i] - rectx2[i] , recty1[i] - recty2[i]) ;
  	 
  } 
} 
 
 
} 

//画圆 
for(int i=0;i<cricletp+1;i++)
{
	switch (criclecolor[i])
	 { 
  	   	 case 0: g.setColor(Color.red) ; break; 
 		 case 1: g.setColor(Color.blue) ; break; 
 		 case 2: g.setColor(Color.green) ; break; 
 		 case 3: g.setColor(Color.orange) ; break; 
 		 case 4: g.setColor(Color.white) ; break ; 
  		 case 5: g.setColor(Color.pink) ; break ; 
  		 case 6: g.setColor(Color.cyan) ; break ;
         case 7: g.setColor(Color.magenta) ; break ; 
         case 8: g.setColor(Color.yellow) ; break ;
         case 9: g.setColor(Color.black) ; break ;
 	} 
 	switch(criclefill[i])
 	{
 		case 0:isFilled=false;break;
 		case 1:isFilled=true;break;
 	}
 	int size = Math.abs((int)Math.sqrt((criclex2[i]-criclex1[i])*(criclex2[i]-criclex1[i]) +
 	 (cricley2[i]-cricley1[i])*(cricley2[i]-cricley1[i]))); 
 	 if(criclex1[i]>cricley1[i])
 	 {
 	 
 	 if(isFilled)
 	 {
 	 	g.fillOval(criclex1[i],cricley1[i],size,size);
 	 }
 	 else
 	  g.drawOval(criclex1[i],cricley1[i],size,size);
 	 }
 	 else
 	 {
 	 	if(isFilled)
 	 {
 	 	g.fillOval(cricley1[i],criclex1[i],size,size);
 	 }
 	 else
 	  g.drawOval(cricley1[i],criclex1[i],size,size);
 	 }
 	 

} 
 

}




//鼠标按下移动事件 
public void mouseDragged(MouseEvent e) 
{ 
//System.out.println ("linetp = " ) ; 
if(oo == 0) 
{ 
linex2[linetp] = e.getX() ; 
liney2[linetp] = e.getY() ; 

} 
if(oo == 1) 
{ 
rectx2[recttp] = e.getX() ; 
recty2[recttp] = e.getY() ; 
} 
if(oo==3)
{
	criclex2[cricletp]=e.getX();
	cricley2[cricletp]=e.getY();
}

if(oo==4)
{
	randomx2[randomtp]=e.getX();
	randomy2[randomtp]=e.getY();
//	linestart.move(e.getX(),e.getY());
	//g.dispose();
	
}

this.repaint() ; 
} 

public void mouseMoved(MouseEvent e) { 
x_tem=e.getX();
y_tem=e.getY();

} 

public void mouseClicked(MouseEvent e) { 

} 

//鼠标按下 
public void mousePressed(MouseEvent e) { 


if(oo == 0) 
{ 
linex1[linetp] = e.getX() ; 
liney1[linetp] = e.getY() ; 
} 

if(oo == 1) 
{ 
rectx1[recttp] = e.getX() ; 
recty1[recttp] = e.getY() ; 
} 
if(oo==3)
{
	criclex1[cricletp]=e.getX();
	cricley1[cricletp]=e.getY();
}

if(oo==4)
{
	//.............................
//	linestart.move(e.getX(),e.getY());
}
}

//鼠标松开 
public void mouseReleased(MouseEvent e) 
{ 
if(oo == 0)
 { 
//System.out.println ("linetp = " + linetp) ; 
linex2[linetp] = e.getX() ; 
liney2[linetp] = e.getY() ; 
linetp ++ ; 
linecolor[linetp] = linecolor[linetp-1] ; //保存颜色

} 

if(oo == 1) 
{ 
//System.out.println ("recttp = " + recttp) ; 
rectx2[recttp] = e.getX() ; 
recty2[recttp] = e.getY() ; 
recttp ++ ; 
rectcolor[recttp] = rectcolor[recttp-1] ; 
rectfill[recttp] = rectfill[recttp-1] ; 
} 
if(oo==3)
{
criclex2[cricletp] = e.getX() ; 
cricley2[cricletp] = e.getY() ; 
cricletp ++ ; 
criclecolor[cricletp] = criclecolor[cricletp-1] ;
criclefill[cricletp] = criclefill[cricletp-1] ;	
}

if(oo==4)
{
	randomx2[randomtp]=e.getX();
	randomy2[randomtp]=e.getY();
	
	randomtp++;
	
	randomcolor[randomtp]=randomcolor[randomtp-1];
	randomfill[randomtp]=randomfill[randomtp-1];
}
} 

public void mouseEntered(MouseEvent e) { 



} 

public void mouseExited(MouseEvent e) { 

} 

//按扭事件 
public void actionPerformed(ActionEvent e) { 


//按下颜色按钮设置画笔颜色 
if(e.getActionCommand().equals("red")) { 
linecolor[linetp] = 0 ; 
criclecolor[cricletp] = 0 ;
rectcolor[recttp] = 0 ; 
 
} 
if(e.getActionCommand().equals("blue")) { 
linecolor[linetp] = 1 ; 
criclecolor[cricletp] = 1 ;
rectcolor[recttp] = 1 ; 
 
} 
if(e.getActionCommand().equals("green")) { 
linecolor[linetp] = 2 ; 
criclecolor[cricletp] = 2 ;
rectcolor[recttp] = 2 ; 

} 
if(e.getActionCommand().equals("orange")) { 
linecolor[linetp] = 3 ; 
criclecolor[cricletp] = 3 ;
rectcolor[recttp] = 3 ; 

} 
if(e.getActionCommand().equals("white")) { 
linecolor[linetp] = 4 ; 
criclecolor[cricletp] = 4 ;
rectcolor[recttp] = 4 ; 

} 

if(e.getActionCommand().equals("pink")) { 
linecolor[linetp] = 5 ; 
criclecolor[cricletp] = 5 ;
rectcolor[recttp] = 5 ; 

} 
if(e.getActionCommand().equals("cyan")) { 
linecolor[linetp] = 6 ; 
criclecolor[cricletp] = 6 ;
rectcolor[recttp] = 6 ; 

} 
if(e.getActionCommand().equals("magenta")) { 
linecolor[linetp] = 7 ; 
criclecolor[cricletp] = 7 ;
rectcolor[recttp] = 7 ; 

} 
if(e.getActionCommand().equals("yellow")) { 
linecolor[linetp] = 8 ; 
criclecolor[cricletp] = 8 ;
rectcolor[recttp] = 8 ; 

} 
if(e.getActionCommand().equals("black")) { 
linecolor[linetp] = 9 ; 
criclecolor[cricletp] = 9 ;
rectcolor[recttp] = 9 ; 

} 

//按下功能按钮设置画笔型号 
if(e.getActionCommand()=="Line")
{ 
oo=0; 


} 

if(e.getActionCommand()=="Rect") 
{ 

oo = 1 ; 
} 

if(e.getActionCommand()=="Cricle")
{
	oo=3;
}

if(e.getActionCommand()=="pen")
{
	oo=4;
}
//设置图画填充类型
if(e.getActionCommand()=="Filled")
{
	rectfill[recttp]=1;
	criclefill[cricletp]=1;
}
if(e.getActionCommand()=="Hollow")
{
	rectfill[recttp]=0;
	criclefill[cricletp]=0;
}
//设置历史记录
 if(e.getActionCommand()=="Eraser")
 {
  this.Eraser();
 }
 if(e.getActionCommand()=="<<Back")
 {
 	this.Back();
 }

} 

public void Back()
{
	 //未完成
		/*linex1[linetp] = linex1[linetp-1]  ; 
		liney1[linetp] = liney1[linetp-1] ; 
		linex2[linetp] = linex2[linetp-1] ; 
		liney2[linetp] = liney2[linetp-1] ; 

		rectx1[recttp] = rectx1[recttp-1] ; 
		recty1[recttp] = recty1[recttp-1] ; 
		rectx2[recttp] = rectx2[recttp-1] ; 
		recty2[recttp] = recty2[recttp-1] ; 

		criclex1[cricletp] = criclex1[cricletp-1]  ; 
		cricley1[cricletp] = cricley1[cricletp-1] ; 
		criclex2[cricletp] = criclex2[cricletp-1] ; 
		cricley2[cricletp] = cricley2[cricletp-1] ; */
		//linetp--;
		//recttp--;
		//cricletp--;
		//this.repaint();

  

}
//恢复成初始状态函数
public void Eraser()
{
	 
int randomtp = 0 ; 
int linetp = 0 ; 
int recttp = 0 ; 
int cricletp = 0 ; 
int texttp = 0 ; 

for (int i = 0; i<num; i++) 
{ 
linex1[i] = 0 ; 
liney1[i] = 0 ; 
linex2[i] = 0 ; 
liney2[i] = 0 ; 

rectx1[i] = 0 ; 
recty1[i] = 0 ; 
rectx2[i] = 0 ; 
recty2[i] = 0 ; 

criclex1[i] = 0 ; 
cricley1[i] = 0 ; 
criclex2[i] = 0 ; 
cricley2[i] = 0 ; 


} 

this.repaint() ; 
 
 

}


public int getX(int x)
 {
 	x=x_tem;
 	return x;
 
 }




//这是Mypanel的括号
}




class MessagePanel extends JPanel 
{	
	
	public void paint(Graphics g)
	{
		super.paint(g);
		g.drawString("",10,10);
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -