我的java程序已经有了Canvas,我计划将4个使用MouseListener的组件添加到该Canvas中,作为4个按钮。当然4个“按钮”会有不同的反应
我可以为这4个组件创建一个类(我不知道该怎么做),或者我必须为4个组件定义4个类(这更容易)?
答案 0 :(得分:0)
MouseEvent
扩展EventObject
,其方法为getSource()
。
顺便说一句,最好在按钮上添加ActionListener
,因为它不仅会对鼠标做出反应,还会对键盘做出反应。
答案 1 :(得分: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 extends 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) ;
}
仍有一些代码在这里没有定义,但我希望这些代码足以描述问题