CircleListener是我的面板類中的一個內部類,它現在涉及MouseListener接口。 MouseRelased方法檢查單擊的區域是否被圓圈包圍,如果是,則將該形狀設置爲選中並刪除所選的區域。Java GUI - MouseListener和ActionListener可能在同一個類中?
現在我需要一個ActionListener來爲這個面板添加一個「定時器」對象的隨機大小的圓圈。 問題:是否有可能爲CircleListener實現「ActionListener」,或者最好爲「ActionListener」創建另一個內部類?
在此先感謝
private class CircleListener implements MouseListener
{
ShapesCanvas canvas;
ShapeContainer container;
Shape possibleShape;
private CircleListener(ShapesCanvas canv, ShapeContainer cont)
{
this.canvas = canv;
this.container = cont;
}
public void MouseRelased (MouseEvent e)
{
possibleShape = container.contains(e.getX(), e.getY());
if(possibleShape != null)
{
((Selectable)possibleShape).setSelected(true);
container.removeSelected();
}
canvas.repaint(); //repaints the last situation
}
此外,它僅僅是良好的面向對象的做法。 :) – 2017-08-17 15:02:02