0

我的 java 程序已经有一个 Canvas,我计划在该 Canvas 上添加 4 个带有 MouseListener 的组件以充当 4 个按钮。当然 4 个“按钮”会有不同的反应

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

4

2 回答 2

0
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 扩展了 Component 并且以下 4 行代码旨在向该 Container 添加一个 Component

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

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) ;


}

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

于 2013-05-05T05:43:31.537 回答
0

MouseEventextendsEventObject有方法getSource()

顺便说一句,最好添加一个ActionListenerto 按钮,因为它不仅会对鼠标做出反应,还会对键盘做出反应。

于 2013-05-04T06:28:04.797 回答