2

リンクされた投稿: MouseListener を使用してグリッド内の特定のセルを見つける方法

100 個のセルで構成される 10x10 のグリッドを使用して、戦艦ゲームを作成しようとしています。Grid は JPanel を拡張し、Cell も JPanel を拡張します。前に、これを行うために MouseListener を実装する方法を尋ねるために上記のリンクを作成しました。コードはすべてそのページにあるので、参照するだけにします。

誰かが私が受け入れたそのリンクに優れた回答を投稿しました。これで、MouseListener を使用して、グリッド上の任意のセルの動き、クリックなどを検出できるようになりました。

しかし、私は別の障害にぶつかりました。グリッドに船を配置しようとしています。今のところ、方向については忘れています (すべての船が水平に配置されると想定しているため)。最初の船は 5 つのセルを占有します。カーソルをグリッド上のセルに移動し、カーソルが置かれているセルの右側にある他の 4 つの「テール」セルを強調表示したいと思います。空きセルが合計で 5 つない場合 (おそらくカーソルがグリッドの端に近すぎるため)、セルは赤くなります。そうしないと、緑色に変わります。

最初の船を配置した後、2 番目の船を配置する必要があります。長さは 4 セルです。したがって、セルにカーソルを合わせると、3 つのセルの「尾」が表示されます。

色の変更方法、向きの扱い方、5 隻から 4 隻への変更方法などに満足しています。ただし、一度に複数のセルを選択する方法がわかりません。これを実装する方法を知っている人はいますか?私が試したことを投稿したいのですが、真実は何もありません.

4

2 に答える 2

1

JPanels の代わりに JButtons / JToggleButtons を使用する

于 2013-04-24T16:42:25.663 に答える