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(); } }