日期:2014-05-20  浏览次数:20549 次

请问高手,如何编写这个程序?
请问高手,如何编写类似于public void paint(Graphics g) 这样的程序,我想了解一下这个是什么模式?另外这样的模式什么时候考虑用到它呢?


------解决方案--------------------
其实你写了这个函数,但是你永远不会调用它,因为你只是重写了Swing框架中的一个方法,由框架来调用,在函数里面你可以对图形进行绘制等等的操作

算是模板方法模式

了解的也不是很多……
------解决方案--------------------
callback

windows32 API里面到处都是的
------解决方案--------------------
Java code

public class CallBack {
    
    String str;
    
    CallBack(String str) {
        this.str=str;
    }
    
    public void start() {
        C c = new C();
        c.setCB(this);
        c.f();
    }
    
    public void call(String str) {
        System.out.println(str);
    }
    public static void main(String[] args) {
        new CallBack("haha").start();
    }
}

class C {
    CallBack cb;
    public void setCB(CallBack cb) {
        this.cb = cb;
    }
    
    public void f() {
        cb.call(cb.str);
    }
}

------解决方案--------------------
翻翻研究下JDK源码,就在javax.swing文件夹下,我记得paint是重写的JComponent类的方法,再了解什么是回调函数
------解决方案--------------------
通过定义接口来回调么