2012-03-14 17 views
0

私は2つのJLabelからなるListCellRendererを持っています。 1つはテキスト用、もう1つは出口イメージ用(少しクロス)です。ListCellRendererのJLabelにマウスリスナーを追加します

その小さな十字にmouselistenerを追加したいとき、クリックするとその項目がJListから削除されます。

+1

リスナーをレンダリングコンポーネントに追加するのは意味がありません(コンテナ階層の一部ではないので、決してイベントは見られません)。その代わりに、リスナーをリストに追加し、その行をレンダリングするためにコンポーネントが追加されている場合は、イベントがアイコン上にあるかどうかを確認してください。 – kleopatra

答えて

0

次のように

list.addMouseListener(new MouseAdapter(){ 
    public void mouseReleased(final MouseEvent e) { 
     if (e.isPopupTrigger()) {    

      // Get the position of the click 
       final int x = e.getX(); 
       final int y = e.getY(); 

       // Verify that the click occured on the selected cell 
       final int index = list.getSelectedIndex(); 
      } 
    } 
}); 

は今、あなたはあなたが何をしたい達成することができます上記の指標に応じて、直接あなたのJListにするMouseListenerを追加してみてくださいすることができます。

+0

ehh ..質問と関係があるpopupTriggerプロパティは何ですか? – kleopatra

+0

@kleopatra、間違いを指摘してくれてありがとう、本当に感謝しています。 –

関連する問題