首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以为同一个类创建不同的mouseClicked()?

是否可以为同一个类创建不同的mouseClicked()?
EN

Stack Overflow用户
提问于 2013-05-04 14:16:30
回答 2查看 47关注 0票数 0

我的java程序已经有了一个画布,我计划在画布上添加4个带有MouseListener的组件,作为4个按钮。当然,4个“按钮”会有不同的反应。

我可以只为这4个组件创建一个类(我不知道怎么做),或者我必须为4个组件定义4个类(这更容易)?

EN

回答 2

Stack Overflow用户

发布于 2013-05-04 14:28:05

MouseEvent扩展了具有getSource()方法的EventObject

另外,最好给按钮添加一个ActionListener,因为它不仅会对鼠标做出反应,还会对键盘做出反应。

票数 0
EN

Stack Overflow用户

发布于 2013-05-05 13:43:32

代码语言:javascript
复制
public class ciCanvas extends Container
{
    public void paint()
    {
    // I draw an image here, it works perfectly



      Image MainMenuPlayBtImage = 
            Toolkit.getDefaultToolkit().getImage(ciConfig.CI_BT1_PATH) ;                
      Label MainMenuPlayText = new Label(ciConfig.CI_TEXT_PLAYBT) ;

      Point MainMenuPlayLocation = new Point(100, 100) ;

      ciTitle MainMenuBt = new ciTitle(MainMenuPlayText, MainMenuPlayBtImage, MainMenuPlayLocation) ;

      this.add(MainMenuBt) ;
    }

}

ciTitle扩展了组件,下面4行代码旨在将组件添加到此容器中

我希望这将显示ciTitle组件,但没有显示任何内容,请注意,我还为ciTitle.paint()方法实现了代码(见下文)

代码语言:javascript
复制
public void paint(Graphics _GraphicsDev)
{
    setSize(
            this.ciTitleImage.getWidth(this),
            this.ciTitleImage.getHeight(this));

    _GraphicsDev.drawImage(
            this.ciTitleImage, 
            this.ciTitleLocation.x, 
            this.ciTitleLocation.y, 
            this) ;


}

仍然有一些代码在这里没有定义,但我希望这些代码足以描述问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16371206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档