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

📄 myframe.java

📁 Java写的画板程序
💻 JAVA
字号:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;


class myframe extends my_interface{
  ////*****构造函数*********/////
	myframe() throws Exception{
        tool=getToolkit();
        setLayout(new BorderLayout());
        b_pencil=new JButton("画笔");
        b_Oval=new JButton("椭圆");
		b_Rect=new JButton("矩形");
		b_RoundRect=new JButton("圆矩形");
		b_Line=new JButton("直线");
		b_Arc=new JButton("圆弧");
	    b_OVAL=new JButton("圆形");
	    clear=new JButton("清空");
        
        c_red=new JRadioButton("红色");
		c_Yellow=new JRadioButton("黄色");
		c_Green=new JRadioButton("绿色");
		c_Black=new JRadioButton("黑色");
		c_Blue=new JRadioButton("蓝色");
		c6=new JRadioButton("调色板");
        color=new ButtonGroup();
        c_Black.setSelected(true);
        
        t1=new TextField(3);
        t2=new TextField(3);
        l1=new Label("弧度");
        l2=new Label(",");
        
        ///////*****填充******///////
	    fill=new ButtonGroup();
	    fillt=new JRadioButton("填充");
	    filln=new JRadioButton("不填充");
        filln.setSelected(true);
        
        panel_interface panel_class=(panel_interface)Class.forName("c_panel").newInstance();
        
        Panel p=panel_class.panel(
        b_pencil,
        b_Oval,
        b_Rect,
        b_RoundRect,
        b_Line,
        b_Arc,
        b_OVAL,
        clear,
        c_red,
        c_Yellow,
        c_Green,
        c_Black,
        c_Blue,
        c6,
        color,  
        fill,   
        fillt,
        filln,
        t1,
        t2,
        l1,
        l2,
        this
        	);
        this.add(p,BorderLayout.SOUTH);  //把面板添加到下方
		

		addMouseMotionListener(this);   //添加鼠标监听器
		addMouseListener(this);

        ////////*****设置frame属性,增加windows适配器*****///////
	    this.setBounds(0,0,800,400);
	    this.setVisible(true);
	    this.setTitle("一个简单的JAVA画板-05计本1班唐智");
	    this.setBackground(Color.white);
	   
	   // validate();
        addWindowListener(new WindowAdapter(){

			public void windowClosing(WindowEvent e){
				System.exit(0);
						                         	}
		}
		);
		
			}
			
			
			///////*******动作响应事件****/////////
			public void actionPerformed(ActionEvent e){  
			try{
		
			actionperformed_interface action_class=(actionperformed_interface)Class.forName("actionperformed").newInstance();
			i=action_class.actionperformed(	
        	i,
        	b_pencil,
            b_Oval,
            b_Rect,
	        b_RoundRect,
	        b_Line,
	        b_Arc,
           	b_OVAL,
        	clear,
	         e);
	        if(i==0)
				{
					vector.removeAllElements();
				}
			
			repaint();
				} 
				catch(Exception ee){
				}		


	}
	

	
		public void mouseMoved(MouseEvent e){
			mm=true;
			x3=e.getX();
			y3=e.getY();
			repaint();
			
	}

	
	    /////////******绘画******///////
		public  void paint(Graphics g){
				// c_paint.c_paint(i,x1,y1,x2,y2,mouseflag,c,vector,tool,fillt,g);
			    try{ 
			     paint_interface paint_class=(paint_interface)Class.forName("c_paint").newInstance();
				 paint_class.paint(i,x1,y1,x2,y2,x3,y3,mouseflag,c,vector,tool,fillt,g,t1,t2,mm,mf);
				 }
				 catch(Exception e){
				 }
	
	}
	

	
	
	
	public void itemStateChanged(ItemEvent e){
		try{

    itemstatechanged_interface itemstatechanged_class=(itemstatechanged_interface)Class.forName("itemstatechanged").newInstance();
	c=itemstatechanged_class.itemstatechanged(
	c_red,
	c_Yellow,
	c_Green,
	c_Black,
	c_Blue,
	c6,
	e,
	c,
	this	
		);
				}
				catch(Exception eee){
				}
		repaint();
			}		
			
		public void mouseDragged(MouseEvent e){              
		mf=true;
		x3=(int)e.getX();                               //当鼠标拖动是把值赋给终点坐标x2,y2
		y3=(int)e.getY();
		if(i==7){		
		x2=(int)e.getX();                               //当鼠标拖动是把值赋给终点坐标x2,y2
		y2=(int)e.getY();
		mouseflag=1; 
		int hudu1;
	   	int hudu2;
	   	String str1;
	   	String str2;
	   	int fillbutton;		
		if(fillt.isSelected())
		fillbutton=1;
		else
		fillbutton=0;
		vector.add(new Integer(i));
		vector.add(new Integer(fillbutton));
		vector.add(new Integer(x1));
		vector.add(new Integer(y1));
		vector.add(new Integer(x2));
		vector.add(new Integer(y2));
		vector.add(c);
		str1=t1.getText();
		str2=t2.getText();
		hudu1=get_int_value.getIntValue(str1);
		hudu2=get_int_value.getIntValue(str2);
		vector.add(hudu1);
	    vector.add(hudu2);                            //mouseflag为1,作用是划线的时候不会清空屏幕
		repaint();
			x1=x2;
			y1=y2;
		}
		else
		{
		x2=(int)e.getX();                               //当鼠标拖动是把值赋给终点坐标x2,y2
		y2=(int)e.getY();
		mouseflag=1; 
		repaint();	
		}
	repaint();	
	}
				public void mousePressed(MouseEvent e){       //鼠标按下是获得起点坐标
			x1=(int)e.getX();
			y1=(int)e.getY();
			
				
	}
	public void mouseReleased(MouseEvent e){
		//********当鼠标放开时,表示一次绘画结束,把图形的信息存入向量****////////
		try{
        mousereleased_interface mousereleased_class=(mousereleased_interface)Class.forName("mousereleased").newInstance();
        mousereleased_class.mousereleased(
         i,
         fillt,
         x1,
         y1,
         x2,
         y2,
         c,
         vector,
         t1,
         t2
        	);
       	}	
       	catch(Exception eeee){
       	}
		mouseflag=0;
		repaint();
	}
}

⌨️ 快捷键说明

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