Java_基礎—GUI(窗體/滑鼠/鍵盤/動作監聽和鍵盤事件)
阿新 • • 發佈:2019-01-29
一、窗體監聽
Frame f = new Frame(“我的窗體”);
//事件源是窗體,把監聽器註冊到事件源上
//事件物件傳遞給監聽器
package com.soar.gui;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class Demo1_Frame {
public static void main(String[] args) {
Frame f = new Frame("MyQQ");
f.setSize(400,600); //設定窗體的長和寬
f.setLocation(300,50); //設定窗體的位置
f.setIconImage(Toolkit.getDefaultToolkit().createImage("qq.png")); //為該窗體設定一個Logo
Button b1 = new Button("按鈕一");
f.add(b1);
f.setLayout(new FlowLayout()); //設定佈局管理器
//f.addWindowListener(new MyWindowsAdapter());
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.setVisible(true ); //設定窗體可見
}
}
二、滑鼠監聽
Button b1 = new Button("按鈕一");
f.add(b1);
b1.addMouseListener(new MouseAdapter() {
/*@Override
* 單擊
public void mouseClicked(MouseEvent e) {
System.exit(0);
}*/
@Override
//釋放
public void mouseReleased(MouseEvent e) {
System.exit(0);
}
});
三、鍵盤監聽和鍵盤事件
Button b1 = new Button("鍵盤敲擊空格鍵關閉視窗");
f.add(b1);
b1.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
//System.out.println(e.getKeyCode());
//System.exit(0);
//if(e.getKeyCode() == 32){
if(e.getKeyCode() == KeyEvent.VK_SPACE){
System.exit(0);
}
}
});
四、動作監聽
預設是單機滑鼠左鍵和敲空格觸發該事件
Button b2 = new Button("按空格和單擊滑鼠關閉視窗");
f.add(b2);
//新增動作監聽,應用場景就是暫停視訊和播放視訊
b2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});