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....

java培训第一天--画板的更多相关文章

  1. 2016.8.16 Java培训第一天

    1. 十进制转换二进制 31/2=15余1  15/2=7余1 7/2=3余1 3/2=1余1    31的二进制结果为11111 35/2=17余1  17/2=8余1  8/2=4余0 4/2=2 ...

  2. 长沙JavaEE培训机构哪家比较靠谱?Java培训的职业前景

    长沙JavaEE培训机构哪家比较靠谱?可信度高? 全球信息化的时代已经到来,IT行业越来越受大众的欢迎,所以越来越多的人把注意力集中到IT职业教育培训.在软件开发领域,Java培训已经成为人们的首选, ...

  3. Java小白如何一步步学好Java,听听企业Java培训师的实践经验吧

    今天我准备给小主展示一篇Java培训老师的文章,希望能给Java小白一个学好Java的路径或者提示.以下就是原文: 从大学到现在,我使用Java已经将近20年,日常也带实习生,还在公司内部做train ...

  4. 从.Net到Java学习第一篇——开篇

    以前我常说,公司用什么技术我就学什么.可是对于java,我曾经一度以为“学java是不可能的,这辈子不可能学java的.”结果,一遇到公司转java,我就不得不跑路了,于是乎,回头一看N家公司交过社保 ...

  5. 如何选择JAVA培训机构,兼议什么样的人适合培训机构

    首先,利益相关,本人就是培训机构创办者兼讲师,但这不妨碍我对此发表看法. 我们先来看什么样的人适合培训机构?要回答这个问题,需要先换个角度.这个角度就是,你学习一门语言的动机是什么?99%的人的回答是 ...

  6. 动力节点Java培训告诉你Java线程的多功能用法

    现在的java开发可谓是八仙过海各显神通啊!遥想当下各种编程语言萎靡不振,而我Java开发异军突起,以狂风扫落叶之态,作为Java培训行业的黄埔军校,为了守护Java之未来,特意总结了一些不被人所熟知 ...

  7. Java学习第一天

    Java学习第一天 对于网络管理员或者黑客必须知道的八个cmd命令 详情请参考:http://www.2cto.com/os/201608/533964.html          nbtstat  ...

  8. 北京Java培训机构哪个好

    又是一年暑期生活的来临,对于即将走出校园的实习生而言,培训潮与就业潮不约而至,培训行业的就业课程开班也如火如荼地进行着. 一直以来,计算机专业的毕业生都会作为一股庞大的生力军涌入社会各个岗位.就目前的 ...

  9. Java 学习第一步-JDK安装和Java环境变量配置

    Java学习第一步——JDK安装及Java环境变量配置 [原文]  2014-05-30 9:09  Java SE  阿超  9046 views Java作为当下很主流的编程语言,学习Java的朋 ...

随机推荐

  1. spring监听器

    1,web.xml中配,因为tomcat启动web项目时先加载web.xml. 2,spring需要启动IOC容器才能为其他框架提供服务,spring是通过监听器来启动容器,初始化 这边启动它,也得告 ...

  2. get传中文参数乱码解决方法

    通常我们前端不同页面之间传参数用得最多的方法就是get方法:在url后面加上参数.例如:www.test.com?id=1&name=hello. 英文和字母很好处理,但是如果有的参数值为中文 ...

  3. [linux] 指令记录

    1> 查看linux版本号 lsb_release -a cat /etc/redhat-release

  4. bate阶段项目总结

    Beta里程碑总结 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 要解决的问题是如何实现消息的发布与查看以及个人主页的实现:定义的基本清楚,团队 ...

  5. understanding ECMAscript 6 ---- block bindings

    Traditionally, the way variable declarations work has been one tricky part of programming in javascr ...

  6. SQL Server Reporting Service(SSRS) 第一篇 我的第一个SSRS例子

    很早就知道SQL SERVER自带的报表工具SSRS,但一直没有用过,最近终于需要在工作中一展身手了,于是我特地按照自己的理解做了以下总结: 1. 安装软件结构 SSRS全称SQL Server Re ...

  7. jquery.nicescroll完美滚动条使用方法

    配置参数 当调用"niceScroll"你可以传递一些参数来定制视觉方面: cursorcolor - 十六进制改变光标颜色,默认值是"#000000" cur ...

  8. SQLserver2008数据库备份和还原问题(还原是必须有完整备份)

    首先,我要说明的是你必须拥有完整的数据库备份,下面的还原教程,才算有用,如果其它问题,请搜索别的大牛的解决办法,本方法只适合菜鸟. 这个连接是站长大人的异常恢复方法,有问题可以自己学习http://w ...

  9. Working with Data » Getting started with ASP.NET Core and Entity Framework Core using Visual Studio » 更新关系数据

    Updating related data¶ 7 of 7 people found this helpful The Contoso University sample web applicatio ...

  10. 【oracle】 oracle学习笔记1--安装与登录

    由于机器配置原因,加上也是自学,所以就没必要安装专业版的oracle,于是就安装的oracle xe版本 下载地址:http://www.oracle.com/technetwork/database ...