ClickCanvas. java
public final class ClickCanvas extends Canvas
{
private final List<Rectangle> squares=new ArrayList();
ClickCanvas()
{
addMouseListener(new OnClick());
for(int x=5;x<=305;x+=150)//3 by 3 grid of squares to click
{
squares.add(new Rectangle(x,5,50,50));
squares.add(new Rectangle(x,155,50,50));
squares.add(new Rectangle(x,305,50,50));
}
}
@Override
public void paint(Graphics g) //Painting Your Squares Here Called By Swing
{
super.paint(g);
Dimension size=getSize();
g.setColor(Color.WHITE);
g.fillRect(0,0,size.width,size.height);
g.setColor(Color.ORANGE);
squares.forEach(square->g.fillRect(square.x,square.y,square.width,square.height));
}
private class OnClick extends MouseAdapter
{
@Override
public void mousePressed(MouseEvent m)
{
squares.removeIf(square->square.contains(m.getPoint()));//You do Your Action Here in this case i remove the square if it contains the mouse point
repaint(); //Repaint The Canvas To Now Redraw Remaining Squares
if(squares.isEmpty())
{
JOptionPane.showMessageDialog(null,"Congrats You Win");
System.exit(0);
}
}
}
}
MainClass
public class ClickTest
{
public static void main(String args[])
{
JFrame frame=new JFrame("Click Test");
frame.add(new ClickCanvas());
frame.setSize(400,450);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
Я надеюсь, что это даст вам некоторое представление о том, что вы хотите сделать в своей игре