基本监听

画笔(paint)

package 界面;

import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;

public class Testpaint {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new Mypaint().add();
	}

}
class Mypaint extends Frame{
	
	void add() {
		setVisible(true);
		setBounds(500, 500, 500, 500);
	}
	@Override
	public void paint(Graphics g) {
		// TODO Auto-generated method stub
		//super.paint(g);
		g.setColor(Color.blue);
		g.drawOval(200, 200, 200, 200);
		g.setColor(Color.CYAN);
		g.fillRect(300, 300, 300, 300);
		g.setColor(Color.black);
	}
}

鼠标监听

有问题的代码

package 界面;

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

public class Testpaint2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new Myframe("haha");
	}

}

class Myframe extends Frame{

	ArrayList apper;
	public Myframe(String title) {
		super(title);
		setVisible(true);
		setBounds(200, 200, 500, 500);
		apper =new ArrayList<>();
		
		this.addMouseListener(new MymouseListener());
	}
	@Override
	public void paint(Graphics g) {
		Iterator  acc = apper.iterator();
		
		while(acc.hasNext()) {
			
		Point point =(Point) acc.next();
			g.setColor(Color.BLUE);
			g.fillOval(point.x, point.y, 10, 10);
		}
	}
	
	 public void app(Point point) {
		 apper.add(point);
		 
	 }
	//适配器模式
	 private class MymouseListener extends  MouseAdapter{
	@Override
	public void mousePressed(MouseEvent e) {
		// TODO Auto-generated method stub
		//super.mousePressed(e);
		Myframe myframe = (Myframe)e.getSource();
		myframe.app(new Point(e.getX(),e.getY()));
		myframe.repaint();
	}
}
}

窗口监听

  1. windowOpened 打开的时候
  2. .windowClosing 正在关闭的时候
  3. .windowClosed 已经关闭掉
  4. .windowiconifed 和图标相关的

一般的

  1. 关闭窗口 .windowClosing
  2. 激活窗口 .windowActivated
package 监听;

import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Testwindow {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new YouFrame();
	}

}

class YouFrame extends Frame{
	public YouFrame() {
		setVisible(true);
		setBounds(200, 200, 200, 200);
		
		
		addWindowListener(
				new WindowAdapter() {
					@Override
					public void windowActivated(WindowEvent e) {
						// TODO Auto-generated method stub
						YouFrame frame = (YouFrame)e.getSource();
						frame.setTitle("激活了");
						System.out.print('+');
					}
					@Override
					public void windowClosing(WindowEvent e) {
						// TODO Auto-generated method stub
						System.out.println("111");
						System.exit(0);
					}
				});
	}
	
}

键盘监听

package 监听;

import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

public class TestKeyListener {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new KeyFrame();
	}

}

class KeyFrame extends Frame {
	public KeyFrame() {
		setBounds(100, 100, 500, 500);
		setVisible(true);
		
		this.addKeyListener(
				
				new KeyAdapter() {
					//按下按键触发事件
					@Override
					public void keyPressed(KeyEvent e) {
						int keyCode = e.getKeyCode();//不需要去记数值,直接使用静态属性VK
						System.out.println(keyCode);
						if(keyCode == KeyEvent.VK_UP)
						{
							System.out.println("你按了上键");
						}
						
					}
				});
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值