用戶圖形界面設計與實現-監聽事件java
System.applet.Appletapp
(一)用戶自定義成分字體
1.繪製圖形動畫
Public voit piant(Ghraphics g){ g.drawLine等圖形名稱(座標1234);g.file圖形名(座標123)}設計
2.設置字體-Font類component
(1)定義font:Font myfont=new Font(「字體」,」樣式」,字號);orm
例如:Font myfont=new Font(「宋體」,Font.BOLD,12);對象
(2)引用定義的Font:類/容器/控件等.setFont(myfont);接口
例如:Graphics g=new Graphics();g.setFont(myfont);事件
3.設置顏色:Color co=new Color(R,G,B);三原色,類型是int或者float;對象:setColor(co);
此外還有:
.setBackColor(Color co);getBackColor(Color co);setForeColor(Color co);getForeColor(Color co);
4.顯示圖片:二進制圖像(跟圖片不一樣,通常少用,最多調用一些系統內在的圖像)
Graphics g=new Grahphics();g.drawImage(筆刷類對象,x0,y0,x1,y1,對象(畫紙));
5.實現動畫效果:原理跟flash動畫同樣,圖片運動
(二)java的標準組件與事件處理
1.java事件處理機制:
事件源+註冊監聽對象——觸發事件actionevent—調用和傳遞參數——監聽者實現接口;
2.GUI標準組件概述
使用控制組件通常的過程:
(1)建立組件類的新對象,指定屬性(外觀大小)——對象實例化
(2)添加到相關的位置或者容器中
(3)註冊給一個事件監聽者,方便它對控件發生的事件作出響應
3.事件監聽和接口
(1)ActionEvent動做事件
發起緣由:單擊雙擊選擇菜單 文本的回車等
註冊方法:事件源對象.addActionListener(監聽者)
監聽接口:ActionListener
處理方法:actionPerformed(ActionEvent e)
(2)ItemEvent項目事件
發起緣由:列表框改變、下拉選單選中、複選改變狀態等
註冊方法:事件源.addItemListener(監聽者)
監聽接口:ItemListener
處理方法:itemStateChanged(ItemEvent e)
(3)MouseEvent 鼠標事件
引發緣由:鼠標點擊進入等等變化
註冊方法:事件源.addMouseListener(監聽者)
監聽接口:MouseListener
處理方法:mouseClick/mouseEnter /mouseExit/mousePressed/mouseReleased(MouseEvent e)
(4)MouseMotion 鼠標移動事件(鼠標移動)
引發緣由:鼠標移動拖動
註冊方法:事件源.MouseMotionListener(監聽者)
監聽接口:MouseMotionEvent
處理方法:mouseMove/mouseDragged(MouseEvent e)
(5)KeyEvent鍵盤操做事件
引發緣由:鍵盤操做
註冊方法:事件源.addKeyListener(監聽者)
監聽接口:KeyListener
處理方法:keyPress/KeyRelease/KeyTyped(KeyEvent e)
(6)FocusEvent 焦點事件
產生緣由:組件焦點獲取和失去
註冊方法:事件源.addFocusListener(監聽者)
監聽接口:FocusListener
處理方法:focusGained/focusLost(FocusEvent e)
(7)AdjustmentEvent 調整事件
產生緣由:滾動條變化
註冊方法:事件源.addAdjustmentListener(監聽者)
監聽接口:AdjustmentListener
處理方法:adjustmentValueChanged(AdjustmentEvent e)
(8)TextEvent 文本事件
產生緣由:文本內容變化
註冊方法:事件源.addTextChangedListener(監聽者)
監聽接口:TextListener
處理方法:textValueChanged(TextEvent e)
(9)ComponentEvent 組件事件
產生緣由:組建移動,改變大小,可見性等
註冊方法:事件源.addComponentListener(監聽者)
監聽接口:ComponentListener
處理方法:componentHidden/moved/Resized/Shown(ComponentEvent e)
(10)WindowEvent 窗口事件
產生緣由:窗體變化
註冊方法:事件源.addWindowsListener(監聽者)
監聽接口:WindowListener
處理方法:windowClosed/Opened/Closing/Activated/Deactivated/Iconfied(最小化)/
windowDeiconfied(最大化)(WindowEvent e)
(11)ContainerEvent 容器事件
產生緣由:容器增長或移走
註冊方法:事件源.addContainerListener(監控者)
監聽接口:ContainerListener
處理方法:componentAdd/Removed(ComtainerEvent e)