关于画笔的使用

初步认识一下画笔工具

package com.company;

import java.awt.*;

public class paint {
public static void main(String []args){
new myPaint().loadFrame();

}
}
class myPaint extends Frame {
void loadFrame(){
setBounds(200,200,500,400);
setVisible(true);
}


@Override
public void paint(Graphics g) {
g.setColor(Color.red);//自动画一个空心圆
g.fillOval(200,200,300,300);//自动画一个实心圆
//每次在结束后记得恢复原来初始的颜色
}
}

了解鼠标监听事件

下面这行代码实现了关于点击面板产生相应的点的效果

package com.company;

import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Iterator;

public class lesson02 {
    public static void main(String []args){
        new MyFrame("画图");
    }
}
class MyFrame extends Frame{
    ArrayList points;
    public MyFrame(String title){
        super(title);
        points = new ArrayList<>();//创建新的列表
        setVisible(true);
        setBounds(200,200,600,400);
        this.addMouseListener(new MyMouthListener());
    }
    void addPoint(Point point){
        points.add(point);//该方法实现了对points这个列表的添加。
    }
    @Override
    public void paint(Graphics g) {
        Iterator<Point>iterator = points.iterator();//迭代器
        while(iterator.hasNext()){//如果还有下一个
            Point x = iterator.next();//取出下一个
            g.setColor(Color.GREEN);
            g.fillOval(x.x,x.y,5,5);//在取出来的数据的位置进行画实心圆的操作
        }


    }
    class MyMouthListener extends MouseAdapter{//自定义的鼠标监视器
        @Override
        public void mouseClicked(MouseEvent e) {
            MyFrame frame =(MyFrame) e.getSource();//取得一些资源
            frame.addPoint(new Point(e.getX(),e.getY()));//把鼠标点击的地方的坐标加到集合中来。
            frame.repaint();//刷新一次,因为第一次加的点没有加进来。
        }

    }
}

了解窗口监听事件

package com.company;

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

public class lesson03 {
    public static void main(String[] args) {
        new windowFrame();
    }
}
class windowFrame extends Frame {
    public windowFrame(){
        setVisible(true);
        setBounds(200,200,600,400);
        this.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
            @Override
            public void windowActivated(WindowEvent e) {
                windowFrame source = (windowFrame) e.getSource();
                source.setTitle("666");
            }
        });
    }
}

下面是关于键盘监听事件的一些用法

public class lesson04 {
    public static void main(String[] args) {
        new KeyFrame();
    }
}
class KeyFrame extends Frame {
    public KeyFrame(){
        setBounds(200,200,600,400);
        setVisible(true);
        this.addKeyListener(new KeyAdapter() {
            @Override
            public void keyPressed(KeyEvent e) {
                int k = e.getKeyCode();
                if(k == KeyEvent.VK_UP){//VK_XX意思是键盘上的某个键,比如说VK_A就是键盘上的A键。
                    System.out.println("你输入了上键");
                }
                else System.out.println("你输入了其他键");
            }
        });
    }
}
posted on 2022-04-05 19:47  damango  阅读(69)  评论(0编辑  收藏  举报