私はJPanel
の 10x10GridLayout
を持っておりJLabels
、ユーザーがそれらのラベルのいずれかをクリックすると、クリックしたセルの行と列を取得できるようにしたいと考えています (または、レイアウト内のインデックスの方が便利な場合)。誰かがこれを行う方法を知っているか、何か提案があれば、どんな助けでも大歓迎です。
ありがとう!
私はJPanel
の 10x10GridLayout
を持っておりJLabels
、ユーザーがそれらのラベルのいずれかをクリックすると、クリックしたセルの行と列を取得できるようにしたいと考えています (または、レイアウト内のインデックスの方が便利な場合)。誰かがこれを行う方法を知っているか、何か提案があれば、どんな助けでも大歓迎です。
ありがとう!
コンポジションを使用し、この構造を POJO にラップして、各ラベルに が登録されているようにしますMouseListener
...これは基本的なマネージャー オブジェクトJTable
です。
ラベルを作成するときに、'name' プロパティを使用して ID を保持できます
for(int x ....)
{
...
label[x] = new JLabel(...);
label[x].setName(String.valueOf(x));//<------------
...
}
mouseListener を介して getSource() を実行すると、ソースを JLabel にキャストしてから label.getName() にキャストできます。
これは、int に解析できる文字列を返します。