1. 程式人生 > >java日常學習:事件(簡要版)

java日常學習:事件(簡要版)

java程式碼塊

事件

事件: 當某個元件發生了指定的動作事,會有相應的處理方案。

事件:
事件源 、 監聽器 、 事件 、 處理方式

動作監聽器: 動作監聽器對於滑鼠點選、和空格鍵都是起作用 的。

作業

//用滑鼠監聽器實現一個按鈕點選變字和變色
package Event;

import java.awt.Color;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

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

import util.FrameUtil;

public class Mouse_1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        JFrame jFrame = new JFrame("滑鼠事件-監聽器");
        JPanel jpanel = new JPanel();
        jFrame.add(jpanel);
        jpanel.setLayout(null);
        JButton jButton = new JButton("點 我 呀");
        jButton.setBackground(Color.CYAN);
        jpanel.add(jButton);
        jButton.addMouseListener(new MouseListener() {

            @Override
            public void mouseReleased(MouseEvent e) {
                // TODO Auto-generated method stub

            }

            @Override
            public void mousePressed(MouseEvent e) {
                // TODO Auto-generated method stub
                JButton jButton = (JButton) e.getSource();
                String content = jButton.getText();
                if ("點 我 呀".equals(content)) {
                    jButton.setBackground(Color.yellow);
                    jButton.setText("點 它 吧");
                } else {
                    jButton.setBackground(Color.CYAN);
                    jButton.setText("點 我 呀");
                }

            }

            @Override
            public void mouseExited(MouseEvent e) {
                // TODO Auto-generated method stub

            }

            @Override
            public void mouseEntered(MouseEvent e) {
                // TODO Auto-generated method stub

            }

            @Override
            public void mouseClicked(MouseEvent e) {
                // TODO Auto-generated method stub

            }
        });

        jButton.setBounds(75, 55, 150, 150);
        FrameUtil.initFrame(jFrame, 300, 300);

    }

}
//用滑鼠介面卡實現一個按鈕點選變字和變色
package Event;

import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

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

import util.FrameUtil;

public class Mouse_2 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        JFrame jFrame = new JFrame("滑鼠事件-介面卡");
        JPanel jpanel = new JPanel();
        jFrame.add(jpanel);
        jpanel.setLayout(null);
        JButton jButton = new JButton("點 我 呀");
        jButton.setBackground(Color.CYAN);
        jpanel.add(jButton);
        jButton.setBounds(75, 55, 150, 150);
        FrameUtil.initFrame(jFrame, 300, 300);
        jButton.addMouseListener(new MouseAdapter() {

            public void mousePressed(MouseEvent e) {
                // TODO Auto-generated method stub
                JButton jButton = (JButton) e.getSource();
                String content = jButton.getText();
                if ("點 我 呀".equals(content)) {
                    jButton.setBackground(Color.yellow);
                    jButton.setText("點 它 吧");
                } else {
                    jButton.setBackground(Color.CYAN);
                    jButton.setText("點 我 呀");
                }

            }

        });

    }

}
//初始化視窗大小和位置
package util;

import java.awt.Dimension;
import java.awt.Toolkit;

import javax.swing.JFrame;
//圖形化介面的工具類
public class FrameUtil {
    //設定窗體出現在中間位置
    public static void initFrame(JFrame frame,int width,int height ) {
        //獲取預設系統工具包
        Toolkit toolkit = Toolkit.getDefaultToolkit();
        //獲取螢幕的解析度
        Dimension dimension = toolkit.getScreenSize();
        int x = (int)dimension.getWidth();
        int y = (int)dimension.getHeight();
        frame.setBounds((x-width)/2, (y-height)/2, width, height);
        //設定窗體的可見性
        frame.setVisible(true);
        //設定窗體關閉
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

}

用於平時自己複習回顧,如有錯誤,歡迎指正

個人微訊號:yxx85561498,歡迎一起學習交流,努力進步

微信二維碼

相關推薦

java日常學習事件簡要

java程式碼塊 事件 事件: 當某個元件發生了指定的動作事,會有相應的處理方案。 事件: 事件源 、 監聽器 、 事件 、 處理方式 動作監聽器: 動作監聽器對於滑鼠點選、和空格鍵都是起作用 的。 作業 /

ViewPager輪播圖自動無限輪播,手指長按停止,實現點選事件實用

此Demo是自定義的viewpager,實現功能如下:無限自動輪播,pager點選事件處理,手指長按停止自動輪播,手指擡起恢復自動輪播; 幾乎可以滿足目前專案中的要求;大家可以直接使用; 整個Demo分兩大類,一個是自定義的ViewPager,一個是MainActivi

java日常學習System系統類

java程式碼塊 System系統類 System系統類 : 主要的作用是用於獲取系統的一個引數。 System類需要掌握的方法: arraycopy(Object src, int srcPos, Object dest, int d

java日常學習內部類、區域性內部類、匿名內部類

java程式碼塊 內部類 內部類: 在一個類的內部定義另外一個類,那麼另外一個類則稱作為內部類 。 內部類的class檔名: 外部類$內部類.class 成員內部類: 成員內部類的訪問方式: 方式一: 在外部類提

java日常學習eclipse、Object類、String類

java程式碼塊 eclipse的使用 eclipse 的使用步驟: 1. 要求你選擇一個工作目錄 。 工作目錄: 以後的所有程式碼都會儲存到工作目錄的資料夾中, 2. 以後寫程式碼是以工程作為單位。如果需要寫程式碼首先必須 要先新建一個

java日常學習TreeSet

java程式碼塊 TreeSet 集合系統: ———–| Collection 單列集合的根介面 —————-| List 如果是實現了List介面的集合類,具備的特點:有序,元素可重

java日常學習建構函式練習

java程式碼塊 練習一: /* 需求1 : 統計一個類建立物件的個數。 靜態成員變數的應用場景之一。 */ //建立一個動物類; class Animal{ String nam

java日常學習封裝及其使用

java程式碼段 java封裝定義和使用 面向物件的語言三大特徵: 1. 封裝 2. 繼承 3. 多型 封裝的步驟: 1. 使用private修飾需要被封裝的屬性。 2. 根據需求提供公共的方法se

salesforce lightning零基礎學習(四) 事件component events簡單介紹

exec 說明 包含 span 目錄 action 當前 一個 events lightning component基於事件驅動模型來處理用戶界面的交互。這種事件驅動模型和js的事件驅動模型也很相似,可以簡單的理解成四部分: 1.事件源:產生事件的地方,可以是頁面中的輸入框

JAVA基礎學習之路十二鏈表

args 是否為空 鏈表 == lin 一個 ava int 數據類型 定義鏈表的基本結構: class Link {//外部類 //內部類,只為鏈表類服務 private class Node {//定義節點類 private

日常學習」CaterpillarPOJ-3310

題意與分析 一條很有趣的題目。給一個無向圖,問它是否無環,且可以在上面找到一條線,使所有的頂點要麼在線上要麼不在線上但在與線相連的邊上。 那麼首先要確定所有點聯絡在一起。這個可以同判環一起處理:如果建圖新加入的點同原先的點含有同一個祖先,那它肯定是環沒跑了。然後遍歷所有節點,看看是否擁有同一個祖先。這樣就完

Java成神之路2018

一、基礎篇 1. Java基礎知識 知識點 連結地址 Java快速入門 資源連結 IntelliJ IDEA教程 資源連結 JAVA程式設計思想指

Java專案寫dll庫Release

背景 在做的java專案中需要使用的一個方法scan(),在C++中有現成的,由於不能完美重構成java,因此採用dll庫的方式使用之。 環境 Windows8.1 VS2015 Community Eclipse neon.3 jdk 1.8 流程 1. 根

java執行緒池原理入門——看完還不懂我直播吃香

網上關於java執行緒池的部落格,大多是直接分析ThreadPoolExecutor類的實現,但是他們就像是做中文翻譯一樣,但是很少有講到本質的東西。 這篇部落格從根本出發,看完可以自己實現一個簡單執行緒池。下面正式開始。 一、我們知道,用java建立一條新執行

中科院中文分詞在java中呼叫詳解ICTCLAS2013

在中文分詞的時候,現在流行的有很多,下面主要介紹中科院中文分詞,現在中科院地址是http://ictclas.nlpir.org/ 首先也是開始呼叫這個介面,呼叫成功後覺得應該共享出來,讓更多人去使用。 然後主要是介紹一下怎麼用使用漢語分詞系統怎麼去呼叫。必須先在上面那個網

全網最簡單!步驟超詳細!小白也能看懂的深度學習安裝教程caffe

想入門深度學習?可是環境就是裝不上?還在對著滿屏的errors抓耳撓腮? 不存在的!!! 小白福利——從零開始手把手教會你安裝一個屬於自己的深度學習環境! 重灌linux os 20多遍、硬著頭皮剛掉了數不盡的error、成功配置了諸多專案苛刻環境的深度學習工作者吐血整理!

Struts2學習interceptor攔截器的使用

網站 print 程序實現 int 自定義 package result process jsp 對於需要登陸驗證、權限驗證等功能的網站,每一次請求,每一個action都寫一段驗證的代碼,未免顯得冗余且不易維護。struts2提供了攔截器intercepto

[瘋狂Java]代理伺服器Proxy代理連線、ProxySelector自動代理選擇器、預設代理選擇器

1. 代理伺服器:     1) 英文就叫Proxy,即代替使用者去連線想要的網站並獲取資訊;     2) 一般主流的商業瀏覽器都提供代理的功能,即你可以先設定一個代理伺服器,那麼接下來所有的上網都是通過該指定的代理伺服器完成;     3) 一旦設定好了代理伺服器,那麼

電力電子技術復習筆記1簡要

計算公式 精確 vertical 有一種 不存在 strong 混合 eight 快的 按照《電力電子技術》-王兆安版章節順序整理,共八章。 ? ?第一章:緒論 要求:掌握電力電子技術的含義:包括電力變換的種類、與信息電子的聯系和區別。 ????電力電子技術也叫

openstack學習心得keystone 常用命令M

face pan sig rom 用戶 目錄 change 創建 email 查看用戶列表 openstack user list 查看用戶具體信息 usage: openstack user show [-h] [-f