1. DrawNoCanvas这个Frame里面加入了一个Panel容器,但是你的paint()是在Frame里面画的,被panel遮住了,所以看不到。可以修改如下
       public DrawNoCanvas() {
        super("NoCanvas");
        setLayout(new FlowLayout());
        add(button); //button什么也没干,放这里干吗?
        setSize(150, 150);
        setVisible(true);
        addWindowListener(new WindowCloser());
       }2. Button什么也没干,摆设
3. for (int i = 12; i < getSize().height; i = +12) { //死循环。i=+12 和i+=12不一样
   修改如下:
    public void paint(Graphics g) {
        for (int i = 12; i < getSize().height; i +=12) {
            g.drawString("y location: "+i, 10, i);
        }
    }