首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java Applet 事件處理:Action 介面、Button 點擊觸發重繪座標變化

     編輯:Java 相關知識

早期 AWT 事件模型(Java 1.0/1.1)示例:Applet 實現 action(Event, Object) 方法處理按鈕點擊,修改座標變量觸發 repaint(),paint(Graphics) 繪製移動字符串。代碼展示舊事件模型與 Graphics 繪圖基礎。

關鍵代碼

public class AppletEvent extends Applet {
    int x = 100, y = 40;
    Button b = new Button("你就按著玩兒吧!");
    public AppletEvent() { add("Center", b); }
    public void paint(Graphics g) {
        g.setColor(Color.red);
        g.setFont(new Font("Helvetica", Font.PLAIN, 24));
        g.drawString("InofCD歡迎您!", x, y);
    }
    public boolean action(Event ev, Object arg) {
        if (ev.target instanceof Button) {
            y += 10; x -= 10;
            if (y >= 250) y = 10;
            if (x <= 0) x = 100;
            repaint();
            return true;
        }
        return false;
    }
}

舊事件模型特點

  • 組件直接調用容器的 action(Event, Object),事件傳播層層向上。
  • Event 封裝源組件、按鍵、座標等;arg 為按鈕標簽等附加信息。
  • 返回 true 表示已處理,阻止繼續傳播。

現代替代 (Java 1.1+ 委派模型)

button.addActionListener(e -> {
    y += 10; x -= 10;
    // 邊界檢查...
    repaint();
});
  • 監聽器接口細分(ActionListener、MouseListener 等)。
  • 事件對象不可變、類型安全、支援多監聽器。
  • 符合 JavaBeans 規範,IDE 可視化綁定友好。
舊模型已過時(Java 1.1 棄用),僅供維護極老代碼或教學參考。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved