0

私はJPanelの 10x10GridLayoutを持っておりJLabels、ユーザーがそれらのラベルのいずれかをクリックすると、クリックしたセルの行と列を取得できるようにしたいと考えています (または、レイアウト内のインデックスの方が便利な場合)。誰かがこれを行う方法を知っているか、何か提案があれば、どんな助けでも大歓迎です。

ありがとう!

4

2 に答える 2

3

コンポジションを使用し、この構造を POJO にラップして、各ラベルに が登録されているようにしますMouseListener...これは基本的なマネージャー オブジェクトJTableです。

于 2013-01-08T03:09:11.257 に答える
1

ラベルを作成するときに、'name' プロパティを使用して ID を保持できます

for(int x ....)
{
  ...
  label[x] = new JLabel(...);
  label[x].setName(String.valueOf(x));//<------------
  ...
}

mouseListener を介して getSource() を実行すると、ソースを JLabel にキャストしてから label.getName() にキャストできます。

これは、int に解析できる文字列を返します。

于 2013-01-08T03:37:05.627 に答える