关于画笔的使用
初步认识一下画笔工具
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("你输入了其他键");
}
});
}
}