加个ActionListener在button,然后一点击就发生事件

解决方案 »

  1.   

    加ActionListener在button,然后一点击就发生事件。
    是可以触发事件,但是我只实现了MyOperation中的数组清零,却不知道如何触发repaint();
    屏幕显示没有随按钮触发自动改变。
      

  2.   

    可以在按钮的事件响应中加入repaint();
    可以编译通过,却不产生效果。
      

  3.   

    是GraphicsPanel对象的repaint么?
    如:
    GraphicsPanel gp;gp.repaint();?
      

  4.   

    这和UI的动作和工程设计是密不可分的,关键是你获得GraphicsPanel 实例的途径,敝人也做过类似的,如果你的Action放在GraphicsPanel 那里当然好办,可以直接通过getSource就ok了,但是你用的是Button.我一般用2个方法处理这种情况,呵呵~~如果大家有更好的设计方法,请提出,我也想改进.
    一,用static的公共方法硬性获得你要repaint的实例,这种一般把最大容器设计成一个管理类,然后其中包含的子容器根据其公共静态方法获得要处理的实例.
    二,用接口,这种方法虽然麻烦,但是比较符合OO思想,大家用共同的方法是update表现和数据,只需要一个方法接口,然后注册的接口方法也一个就可以,我现在就是这样做的.
    不论那种方法,一言蔽之,哪个简单就用哪个.
    And issue,let me know.
      

  5.   

    在程序中实现update()方法就可以了,当调用repaint()时自动会执行update()方法。
      

  6.   

    update()方法??
    能说的更具体一些吗?谢谢。
      

  7.   

    eddygtimegod(dark),你说的,用static的公共方法硬性获得你要repaint的实例,我实现了。
    至于第二种方法,你能解释的更详细一些吗?谢谢