package day1;

 import java.awt.Color;
 import java.awt.Font;
 import java.awt.Graphics;
 import java.awt.Panel;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;

 import javax.swing.JFrame;
 import javax.swing.JPanel;

 //import org.omg.CORBA.PUBLIC_MEMBER;

 //继承
 public class day1_test extends JPanel{
     /**
              *
              */
             private static final long serialVersionUID = 1L;

             //定义颜色
             public Color colorRed = new Color(255,0,0);
             public Color colorBlue = new Color(0,0,255);
             public Color colorGreen = new Color(0, 255, 0);
             public Color rectcolor = colorRed;
             int x_axis = 0;
             int y_axis = 0;
             int paint_size = 0;
             boolean isbegin = true;
             boolean isclear = false;
     //画板界面:画框 画布
     public static void main(String args[])
     {
         //画框   声明居然和C#一样
         JFrame day1_frame = new JFrame();
         //变量用来指代内存中的一块空间用来存放不同的数据
         day1_frame.setVisible(true);
         //set size
         day1_frame.setSize(1300, 720);
         day1_frame.setResizable(false);
         //set position
         day1_frame.setLocationRelativeTo(null);
         //close programe
         day1_frame.setDefaultCloseOperation(2);
         //画布
         //JPanel day1_panel = new JPanel();
         //创建自己的画布
         day1_test mypanel = new day1_test();
         //添加panel
         //mypanel.setSize(1300, 55);
         day1_frame.add(mypanel);//这里调用了paint
         //在panel上面再建立panel
         //方法的重写 paint
         //这里调用timepaint
         mypanel.TimePaint();
     }

     /**
      * 自己定义的方法
      * **/

     public void paint(Graphics gr)
     {
         //画颜色选择区域
         //画笔
         //左上角x,y坐标
         gr.setColor(colorRed);
         gr.fillRect(0, 50, 1300,2);
         gr.setColor(colorBlue);
         gr.fillRect(0, 0, 1300, 2);
         //第一个按钮绿色
         gr.setColor(colorGreen);
         gr.fillRect(0, 0, 100, 50);

         gr.setColor( new Color(122,245,255));
         gr.fillRect(200, 0, 100, 50);

         gr.setColor(colorRed);
         gr.fillRect(400, 0, 100, 50);

         gr.setColor(Color.ORANGE);
         gr.fillRect(600, 0, 100, 50);

         gr.setColor(Color.pink);
         gr.fillRect(800, 0, 100, 50);

         gr.setColor(Color.orange);
         gr.drawRect(1000,0 , 100, 50);
         //font参数 字体 风格 字号
         gr.setFont(new Font("楷体", 0, 30));
         gr.drawString("clear", 1015, 35);

         gr.drawRect(1200, 0, 100, 50);
         gr.drawString("CLA", 1215, 35);

         //画线,两个点
         gr.setColor(Color.orange);
         gr.drawLine(0, 55, 1300, 55);
         //画线
         if(!isbegin)
         {
            gr.setColor(rectcolor);
            if(y_axis>55)
            {
                gr.fillRect(x_axis, y_axis, 10, 10);
            }
         }
         //清屏的画法
         if(isclear)
         {
            gr.setColor(getBackground());
            gr.fillRect(0, 55, 1300, 665);
            isclear = false;
        }
     }

     //定义鼠标事件
     public void TimePaint()
     {
         MouseAdapter MA = new MouseAdapter() {
             //鼠标事件:定义鼠标事件的类型
             @Override
             //鼠标拖动事件,拖动鼠标激发
             public void mouseDragged(MouseEvent e) {
                 /*
                  * 需要repaint方法
                  * 不断刷新鼠标的坐标赋值给方框坐标
                  * */
                 //获取鼠标位置

                 //基本类型 (结构简单int,共有8种:int[4],float[2],bool,char,string,)引用类型(结构复杂,比如画布。。。)
                 int locationx = e.getX();
                 int locationy = e.getY();
                 x_axis = locationx;
                 y_axis = locationy;
                 isbegin = false;
                 repaint();
             }

             @Override
             public void mouseClicked(MouseEvent e) {
                 int locationx = e.getX();
                 int locationy = e.getY();
                 if(locationx>0&&locationx<100&&locationy>0&&locationy<50)
                 {
                     rectcolor = colorGreen;
                 }
                 else if (locationx>200&locationx<300&locationy>0&locationy<50) {
                     rectcolor = new Color(122,245,255);
                 }
                 else if(locationx>400&locationx<500&locationy>0&locationy<50)
                 {

                     rectcolor = colorRed;
                 }
                 else if(locationx>600&locationx<700&locationy>0&locationy<50)
                 {
                     rectcolor = Color.ORANGE;
                 }
                 else if(locationx>800&locationx<900&locationy>0&locationy<50)
                 {
                     rectcolor = Color.pink;
                 }
                 else if(locationx>1000&locationx<1100&locationy>0&locationy<50)
                 {
                     rectcolor = getBackground();
                 }
                 else if(locationx>1200&locationx<1300&locationy>0&locationy<50)
                 {
                     isclear = true;
                     //立即执行清屏
                     repaint();
                     rectcolor = colorRed;
                 }
             }
         };
         addMouseMotionListener(MA);//动态监听
         addMouseListener(MA);//静态监听
     }
 }

完全不想学java....

最新文章

  1. bootstrap弹出提示窗口功能
  2. C primer plus 练习题 第二章
  3. JS高程读书笔记-第一、二章-内附在线思维导图和quizlet卡片
  4. Matlab与C/C++联合编程之Matlab以MEX方式调用C/C++代码(四)
  5. asdoc 档案
  6. Multimedia&amp;Network
  7. OrCAD PSpice仿真库模型
  8. 项目中用到的input 遇到的问题的归类
  9. 数据结构与算法之递推算法 C++与PHP实现
  10. Oracle 生成一张测试表并插入随机数据
  11. 白话ASP.NET MVC之二:Controller激活系统的概览
  12. 201521123066《Java程序设计》第七周学习总结
  13. Perl 中 `cmd` 和system"cmd"的区别
  14. vue初尝试--项目结构
  15. &#39;telnet&#39; 不是内部或外部命令,也不是可运行的程序
  16. 解决悬浮的&lt;header&gt;、&lt;footer&gt;遮挡内容的处理技巧
  17. ADB 运行原理
  18. 一起学习Boost标准库--Boost.StringAlgorithms库
  19. Alpha版本冲刺(九)
  20. hoj Counting the algorithms

热门文章

  1. phpcms 中路径问题
  2. Mifare系列3-卡的能源和数据传递(转)
  3. Best 3D Modeling software under Ubuntu
  4. vim添加未识别文件类型
  5. mysql mybatis-generator plugin 有page实体类的分页
  6. MySQL自定义函数例子
  7. ionic overflow:auto失效
  8. (42) Aeroo 模板实战
  9. (Jquery)关于给动态加载的页面元素,绑定事件
  10. 判断iframe是否加载完成的完美方法