Java——Swing事件處理

 

import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.JFrame;

//=================================================
// File Name       :	MyWindowListener_demo
//------------------------------------------------------------------------------
// Author          :	Common


class MyWindowEventHandle implements WindowListener{	//實現窗口監聽

	@Override
	public void windowOpened(WindowEvent e) {			//窗口打開時觸發
		// TODO 自動生成的方法存根
		System.out.println("windowOpened-->窗口被打開");
	}

	@Override
	public void windowClosing(WindowEvent e) {			//窗口關閉時觸發,按下關閉按鈕
		// TODO 自動生成的方法存根
		System.out.println("windowClosing-->窗口關閉");
	}

	@Override
	public void windowClosed(WindowEvent e) {			//窗口被關閉時觸發
		// TODO 自動生成的方法存根
		System.out.println("windowClosed-->窗口被關閉");
	}

	@Override
	public void windowIconified(WindowEvent e) {		//窗口最小化時觸發
		// TODO 自動生成的方法存根
		System.out.println("windowIconified-->窗口最小化");
	}

	@Override
	public void windowDeiconified(WindowEvent e) {		//窗口從最小化恢復
		// TODO 自動生成的方法存根
		System.out.println("windowDeiconified-->窗口從最小化恢復");
	}

	@Override
	public void windowActivated(WindowEvent e) {			//設置爲非活動窗口是觸發
		// TODO 自動生成的方法存根
		System.out.println("windowActivated-->窗口被選中");
	}

	@Override
	public void windowDeactivated(WindowEvent e) {		//設置爲活動窗口是觸發
		// TODO 自動生成的方法存根
		System.out.println("windowDeactivated-->取消窗口選中");
	}
	
}


//主類
//Function        : 	MyWindowListener_demo
public class MyWindowListener_demo {

	public static void main(String[] args) {
		// TODO 自動生成的方法存根
		JFrame f = new JFrame("Swing窗口");							//實例化窗體對象
		f.addWindowListener(new MyWindowEventHandle());
		f.setSize(440, 320);  			//設置窗體
		f.setLocation(300,200);		//設置顯示位置
		f.setVisible(true);
	}

}

 

 

import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.JFrame;

//=================================================
// File Name       :	WindowAdapter
//------------------------------------------------------------------------------
// Author          :	Common


// 類名:myWindowEventHandle
// 屬性:
// 方法:
class myWindowEventHandle extends WindowAdapter{
	//此時能夠根據本身的須要覆寫方法
	public void windowClosing(WindowEvent e) {			//窗口關閉時觸發,按下關閉按鈕
		// TODO 自動生成的方法存根
		System.out.println("windowClosing-->窗口關閉");
		System.exit(1);
	}
}



//主類
//Function        : 	WindowAdapter
public class WindowAdapter {

	public static void main(String[] args) {
		// TODO 自動生成的方法存根
		JFrame f = new JFrame("Swing窗口");							//實例化窗體對象
		f.addWindowListener(new myWindowEventHandle());
//		f.addWindowListener(new WindowAdapter(){
//			
//			public void windowClosing(WindowEvent e) {			//窗口關閉時觸發,按下關閉按鈕
//				// TODO 自動生成的方法存根
//				System.out.println("windowClosing-->窗口關閉");
//				System.exit(1);
//			}
//		});
		
		f.setSize(440, 320);  			//設置窗體
		f.setLocation(300,200);		//設置顯示位置
		f.setVisible(true);
	}

}

 

import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

//=================================================
// File Name       :	ActionListener_demo
//------------------------------------------------------------------------------
// Author          :	Common


// 類名:myWindowEventHandle
// 屬性:
// 方法:
class ActionHandle{
	private JFrame frame = new JFrame("窗口");			//定義一個窗口對象
	private JButton but = new JButton("顯示按鈕");		//定義一個按鈕
	private JLabel lab = new JLabel();									//定義一個標籤
	private JTextField jtf = new JTextField(10);					//定義一個文本域
	private JPanel pan  = new JPanel();
	public ActionHandle(){
		Font font = new Font("Serief",Font.ITALIC+Font.BOLD,28);
		lab.setFont(font);
		lab.setText("設置顯示的文字");
		but.addActionListener(new ActionListener(){			//採用匿名內部類
			public void actionPerformed(ActionEvent arg0){
				if(arg0.getSource() == but){										//判斷觸發源是不是標籤
					lab.setText(jtf.getText());										//將文本文字設置到標籤
				}
			}
		});
		
		frame.addWindowListener(new WindowAdapter(){		//加入動做監聽
			public void windowClosing(WindowEvent e) {			//窗口關閉時觸發,按下關閉按鈕
			// TODO 自動生成的方法存根
			System.out.println("windowClosing-->窗口關閉");
			System.exit(1);
			}
		});
		frame.setLayout(new GridLayout(2,1));		//定義窗體佈局,2行1列
		pan.setLayout(new GridLayout(1,2));			//定義窗體佈局,1行2列
		pan.add(jtf);
		pan.add(but);
		frame.add(pan);
		frame.add(lab);
		frame.pack();
		frame.setVisible(true);
	}
}


//主類
//Function        : 	ActionListener_demo
public class ActionListener_demo {

	public static void main(String[] args) {
		// TODO 自動生成的方法存根
		new ActionHandle();
	}

}

 

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

//=================================================
// File Name       :	KeyListener_demo
//------------------------------------------------------------------------------
// Author          :	Common


// 類名:myWindowEventHandle
// 屬性:
// 方法:
class MyKeyHandle extends JFrame implements KeyListener{
	
	private JTextArea text = new JTextArea();		//
	
	public MyKeyHandle(){
		super.setTitle("鍵盤");
		JScrollPane scr = new JScrollPane(text);		//加入滾動條
		scr.setBounds(5, 5, 300, 200);
		super.add(scr);
		text.addKeyListener(this);
		super.setSize(310, 210);
		super.setVisible(true);
	}
	
	@Override
	public void keyTyped(KeyEvent e) {				//輸入內容
		// TODO 自動生成的方法存根
		text.append("輸入的內容是:"+e.getKeyChar()+"\n");
	}

	@Override
	public void keyPressed(KeyEvent e) {			//鍵盤按下
		// TODO 自動生成的方法存根
		text.append("鍵盤:"+KeyEvent.getKeyText(e.getKeyCode())+"鍵按下\n");
	}

	@Override
	public void keyReleased(KeyEvent e) {			//鍵盤釋放
		// TODO 自動生成的方法存根
		text.append("鍵盤:"+KeyEvent.getKeyText(e.getKeyCode())+"鍵鬆開\n");
	}
	
}


//主類
//Function        : 	KeyListener_demo
public class KeyListener_demo {

	public static void main(String[] args) {
		// TODO 自動生成的方法存根
		new MyKeyHandle();
	}

}

 使用適配器java

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

//=================================================
// File Name       :	KeyListener_demo
//------------------------------------------------------------------------------
// Author          :	Common


// 類名:myWindowEventHandle
// 屬性:
// 方法:
//class MyKeyHandle extends JFrame implements KeyListener{
//	
//	private JTextArea text = new JTextArea();		//
//	
//	public MyKeyHandle(){
//		super.setTitle("鍵盤");
//		JScrollPane scr = new JScrollPane(text);		//加入滾動條
//		scr.setBounds(5, 5, 300, 200);
//		super.add(scr);
//		text.addKeyListener(this);
//		super.setSize(310, 210);
//		super.setVisible(true);
//	}
//	
//	@Override
//	public void keyTyped(KeyEvent e) {				//輸入內容
//		// TODO 自動生成的方法存根
//		text.append("輸入的內容是:"+e.getKeyChar()+"\n");
//	}
//
//	@Override
//	public void keyPressed(KeyEvent e) {			//鍵盤按下
//		// TODO 自動生成的方法存根
//		text.append("鍵盤:"+KeyEvent.getKeyText(e.getKeyCode())+"鍵按下\n");
//	}
//
//	@Override
//	public void keyReleased(KeyEvent e) {			//鍵盤釋放
//		// TODO 自動生成的方法存根
//		text.append("鍵盤:"+KeyEvent.getKeyText(e.getKeyCode())+"鍵鬆開\n");
//	}
//	
//}

class MyKeyHandle extends JFrame{
	
	private JTextArea text = new JTextArea();		//
	
	public MyKeyHandle(){
		super.setTitle("鍵盤");
		JScrollPane scr = new JScrollPane(text);		//加入滾動條
		scr.setBounds(5, 5, 300, 200);
		super.add(scr);
		text.addKeyListener(new KeyAdapter() {
			
			@Override
			public void keyTyped(KeyEvent e) {
				// TODO 自動生成的方法存根
				text.append("輸入的內容是:"+e.getKeyChar()+"\n");
			}
		});
		super.setSize(310, 210);
		super.setVisible(true);
		super.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent arg0){
				System.exit(1);
			}
		});
	}
	
	
	
}


//主類
//Function        : 	KeyListener_demo
public class KeyListener_demo {

	public static void main(String[] args) {
		// TODO 自動生成的方法存根
		new MyKeyHandle();
	}

}

 

import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;

//=================================================
// File Name       :	MouseListener_demo
//------------------------------------------------------------------------------
// Author          :	Common


// 類名:myWindowEventHandle
// 屬性:
// 方法:
class MyMouseMotion extends JFrame{
	public MyMouseMotion(){
		super.setTitle("鍵盤");
	
		super.addMouseMotionListener(new MouseMotionListener() {
			
			@Override
			public void mouseMoved(MouseEvent e) {
				// TODO 自動生成的方法存根
				System.out.println("鼠標移動到窗體");
			}
			
			@Override
			public void mouseDragged(MouseEvent e) {
				// TODO 自動生成的方法存根
				System.out.println("鼠標拖拽到窗體:X"+e.getX()+",Y"+e.getY());
			}
		}

				
		);
		super.setSize(310, 210);
		super.setVisible(true);
		super.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e) {			//窗口關閉時觸發,按下關閉按鈕
			// TODO 自動生成的方法存根
			System.out.println("windowClosing-->窗口關閉");
			System.exit(1);
			}
		});
	}
	
	
}


//主類
//Function        : 	MouseListener_demo
public class MouseListener_demo {

	public static void main(String[] args) {
		// TODO 自動生成的方法存根
		new MyMouseMotion();
	}

}
相關文章
相關標籤/搜索