1、Java中的graphics类提供了画布,可以在graphic面画出各种形状,包括图片,各种线条,字符串,各种图像。下面这个程序用java编写一个程序用来画图,类似于ppt中的画笔功能。
v
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class drawtest1 {
public static void main(String args[]){
draw d=new draw();
// d.drawline();
}
}
class draw extend
2、s JFrame implements MouseListener,MouseMotionListener,ActionListener
{
Graphics g;
Color color=Color.green ;
Color color1=Color.gray ;
int startx,starty,endx,endy;
JPanel p1,p2;
JButton []btns=new JButton[4];
String title[]={"设置前景色","设置背景色","设置画笔颜色","清除画布"};
public draw(){
su
3、per("画图");
this.show();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
setSize(700,600);
setLayout(null);
p1=new JPanel();
p2=new JPanel();
for(int i=0;i<4;i++){
btns[i]=new JButton(title[i]);
btns[i].addActionListener(this);
add(btns[i]);
}
p1.setBorder
4、BorderFactory.createTitledBorder("设置颜色"));
p1.setBackground(Color.white );
p1.setBounds(30,10,140,240);
btns[0].setBounds(50,40,100,30);
btns[1].setBounds(50,90,100,30);
btns[2].setBounds(50,140,100,30);
btns[3].setBounds(50,190,100,30);
add(p1);
g=this.getGraphics();
g.s
5、etClip(180,50,500,500);
addMouseListener(this);
addMouseMotionListener(this);
}
// public void paint(Graphics g){
// //重绘画布,当移动此画布或者覆盖此画布时,图像不会消失
//// g.setColor(Color.white );
//// g.drawString("画图板",20,30);
// }
public void mouseClicked(MouseEvent e) {
}
pub
6、lic void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
if(e.getButton()==MouseEvent.BUTTON1 )
{
startx=e.getX();
starty=e.getY();
System.out.println("鼠标左键被按下");
}
else if(e.getButton()==MouseEvent.BUTTON
7、3 ){
System.out.println("鼠标右键被按下");
}
}
public void mouseReleased(MouseEvent e) {
}
public void mouseDragged(MouseEvent e) {
g.setColor(color );
g.drawLine(startx,starty,e.getX(),e.getY());
startx=e.getX();
starty=e.getY();
}
public void mouseMoved(MouseEvent e) {
8、
}
public void actionPerformed(ActionEvent e){
Object o=e.getSource();
if(o==btns[2]){
color=JColorChooser.showDialog(null,"设置画笔颜色",Color.white );
g.setColor(color);
}
if(o==btns[1]){
color1=JColorChooser.showDialog(null,"设置背景色",Color.black );
g.setColor(color1);
g.fillRect(0,0,this.getWidth() ,this.getHeight());
}
if(o==btns[3]){
g.setColor(color1);
g.fillRect(0,0,this.getWidth() ,this.getHeight());
}
}
}