2012-02-21 14 views
0

JCheckBoxJLabelを含むJList<JPanel>があります。どちらがクリックされたかを調べる必要があります。私はMouseAdapterを使用しています。私はJPanelでクリックしたJavaコンポーネント -

int index = locationToIndex(e.getPoint()); 
getModel().getElementAt(index); 

JPanelを得ることができますしかし、私はJPanelComponentがクリックされたかを決定する方法を見つけることができません。

何か助けていただければ幸いです。

+0

私は実際にスイングを知らないので、実際の答えを書いてはいけませんが、ここに示唆しています:それらのコンポーネントすべてが自分のマウスリスナーを持つことはできないはずですか?それは一般的に問題を解決していないのですか? – Irfy

+1

@Irfy:JListsは実際のコンポーネントを保持するのではなく、*コンポーネントのように見える*レンダリングするレンダラーを使用します。これは、この問題を、それが思っているよりも少しトリッキーにする原因です。 –

+0

申し訳ありません、私はここであきらめています。 :-) – Irfy

答えて

1

JList.addListSelectionListener(ListSelectionListener)を呼び出します。

ListSelectionListenerは、ListSelectionEventを提供します。ユーザーの選択の最初と最後のインデックスにアクセスするには、methods of the eventを参照してください。さらなるヒント&の作業のヒントについては、チュートリアルのHow to Use Listsも参照してください。

+0

私はそれを試みました。それがどう役立つか分かりません。 – Stripies

+1

+1正しいアプローチ。リスナーを実装しようとしていることを示す[sscce](http://sscce.org/)を含めるように質問を編集してください。 – trashgod

+0

私はtrashgodに同意します。さらなる助けが必要な場合は、 'ListSelectionListener'を使ってSSCCEを投稿してください。 –

関連する問題