Java–GUI–AWT–画笔、鼠标监听、窗口监听、键盘监听
画笔
package com.zy.gui.awt;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class StudyPaint extends Frame {
public static void main(String[] args) {
new StudyPaint().loadFrame();
}
public void loadFrame(){
setTitle("StudyPaint");
setVisible(true);
setBounds(200,200,700,500);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
e.getWindow().dispose();
}
});
}
@Override
public void paint(Graphics g) {
g.setColor(Color.red);
g.draw3DRect(100,100,200,200,true);
g.drawOval(200,200,100,100);
g.setColor(Color.orange);
g.fillOval(100,100,100,100);
g.setColor(Color.black);
}
}
鼠标监听
package com.zy.gui.awt;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ArrayList;
import java.util.Iterator;
public class StudyMouseListener extends Frame {
private ArrayList pointList;
public void loadFram(String title){
setTitle(title);
setBounds(200,200,500,400);
setVisible(true);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
e.getWindow().dispose();
}
});
pointList = new ArrayList();
addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
pointList.add(e.getPoint());
repaint();
}
});
}
@Override
public void paint(Graphics g) {
g.setColor(Color.orange);
Iterator iterator = pointList.iterator();
while (iterator.hasNext()){
Point point = (Point) iterator.next();
g.fillOval(point.x,point.y,12,12);
}
g.setColor(Color.black);
}
public static void main(String[] args) {
new StudyMouseListener().loadFram("鼠标监听之跟随鼠标点击画点");
}
}
窗口监听
package com.zy.gui.awt;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ArrayList;
public class StudyWindowListener extends Frame {
public void loadFram(String title){
setTitle(title);
setBounds(200,200,500,400);
setVisible(true);
addWindowListener(new WindowAdapter() {
@Override
public void windowOpened(WindowEvent e) {
System.out.println("窗口打开后的监听事件");
}
@Override
public void windowClosing(WindowEvent e) {
System.out.println("窗口关闭时的监听事件");
e.getWindow().dispose();
}
@Override
public void windowClosed(WindowEvent e) {
System.out.println("窗口关闭后的监听事件");
}
@Override
public void windowActivated(WindowEvent e) {
System.out.println("窗口激活时的监听事件");
((StudyWindowListener)e.getWindow()).setTitle("激活后的窗口");
}
@Override
public void windowDeactivated(WindowEvent e) {
System.out.println("窗口未激活时的监听事件");
}
});
}
public static void main(String[] args) {
new StudyWindowListener().loadFram("窗口监听");
}
}
键盘监听
package com.zy.gui.awt;
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class StudyKeyListener extends Frame {
public void loadFram(String title){
setTitle(title);
setBounds(200,200,500,400);
setVisible(true);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.out.println("窗口关闭时的监听事件");
e.getWindow().dispose();
}
});
addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
System.out.println("按下释放后的值:" + e.getKeyChar());
}
@Override
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
if(keyCode == KeyEvent.VK_UP){
System.out.println(keyCode+"=============");
}
System.out.println("按下时的值:" + e.getKeyChar());
}
@Override
public void keyReleased(KeyEvent e) {
int keyCode = e.getKeyCode();
if(keyCode == KeyEvent.VK_DOWN){
System.out.println(keyCode+"=============");
}
System.out.println("释放时的值:" + e.getKeyChar());
}
});
}
public static void main(String[] args) {
new StudyKeyListener().loadFram("键盘监听");
}
}