0
点赞
收藏
分享

微信扫一扫

GUI初阶:监听事件(案例:简易画图软件)


GUI初阶:监听事件(案例:简易画图软件)

一、鼠标监听

addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
}
});

二、窗口监听

addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});

三、键盘监听

addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
int Keycode = e.getKeyCode();//获取键盘输入的值
if(Keycode == KeyEvent.VK_xxx);{
执行语句
}
}
});

简易画图软件源代码:

/*
————Gui初阶:监听事件(案例:简易画图软件)————

一、鼠标监听
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
}
});


二、窗口监听
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});

三、键盘监听
addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
int Keycode = e.getKeyCode();//获取键盘输入的值
if(Keycode == KeyEvent.VK_xxx);{
执行语句
}
}
});

*/
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.Iterator;


public class Paints {
public static void main(String[] args) {
new ListenerFrame("画图工具");
}
}

class ListenerFrame extends Frame{

ArrayList points;

//程序建立方法
public ListenerFrame(String name){
super(name);//设定窗口名
setBounds(100,100,400,500);
setVisible(true);
//建立点仓库
points = new ArrayList<>();

//添加鼠标事件监听器
addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
addPaint(new Point(e.getX(),e.getY()));
repaint();
}
});
//添加键盘事件监听器
addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
int Keycode = e.getKeyCode();
if(Keycode == KeyEvent.VK_ENTER);{
System.exit(0);
}
}
});
//添加窗口监听事件
addWindowListener(new WindowAdapter() {

public void windowOpened(WindowEvent e) {
System.out.println("欢迎光临");
}

public void windowClosing(WindowEvent e) {
System.out.println("欢迎下次使用菜逼画图工具");
System.exit(0);
}
});
}
//建立画笔工具
@Override
public void paint(Graphics g) {
Iterator iterator = points.iterator();
while (iterator.hasNext()){
Point point = (Point) iterator.next();
g.setColor(Color.green);
g.fillOval(point.x,point.y,10,10);
}
}
//添加点到界面上
public void addPaint(Point point){
points.add(point);
}
}



举报

相关推荐

0 条评论