代码学习第六课(java)

设计画图工具:1.显示画图工具的界面           

2.监听器:鼠标监听器方法:addMouseListener()

3.画笔:在界面程序中显示自定义内容(线段)

public class DrawUI {

    //显示画图界面
    public void initUI(){
        //窗体
        JFrame jf = new JFrame();
        jf.setTitle("画图工具");
        jf.setSize(900,900);
        jf.setLocationRelativeTo(null);
        jf.setDefaultCloseOperation(3);

        jf.setVisible(true);

        //画笔:图形内容显示在哪个组件上,画笔就从该组件上获取
        //从窗体上获取画笔对象,一定要在窗体显示可见之后
        Graphics g = jf.getGraphics();

        //给窗体添加鼠标监听器方法
        //使用接口步骤:1.重新定义类继承接口  2.重写接口中的抽象方法
        DrawListener listener = new DrawListener();
        jf.addMouseListener(listener);

        listener.gr = g;
    }
    public static void main(String[] args){
        DrawUI ui = new DrawUI();
        ui.initUI();
    }
}

public class DrawListener implements MouseListener {
    //引用传递
    public Graphics gr;  //保存传递过来的画笔对象
    //全局变量:属性
    public int x1, y1, x2, y2;

    //重写接口中的事件处理方法
    public void mouseClicked(MouseEvent e) {
        System.out.println("点击");
    }

    public void mousePressed(MouseEvent e) {
        System.out.println("按下");
        //获取当前坐标值
        //作用域:一对大括就是一个独立的作用域
        //局部变量:1.在方法(作用域)中定义的变量   2.方法的参数
        x1 = e.getX();
        y1 = e.getY();

    }

    public void mouseReleased(MouseEvent e) {
        System.out.println("松开");
        x2 = e.getX();
        y2 = e.getY();

        //绘制图形
        gr.drawLine(x1, y1, x2, y2);
        //矩形
//        gr.drawRect();
        //椭圆
//        gr.drawOval();


    }

    public void mouseEntered(MouseEvent e) {
    }

    public void mouseExited(MouseEvent e) {
    }
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值