0
私には標準com.sun.lwuit.list
があります。選択されたアイテムは、getSelectedItem
またはgetSelectedIndex
というメソッドを使用して取得できます。アイテムは写真と2つのラベルです。画像やラベルの1つをクリックしたかどうかを知るにはどうすればいいですか?私は、子コンポーネントにclickイベントを渡すことが可能であるか、または現在のマウス座標でコンポーネントを見つける方法が存在する可能性があることを認めます。LWUIT商品に関する質問
public class NewsFeedListRender extends Container implements ListCellRenderer
{
private final Container newsFeedCont = new Container();
private final Container pictureCont = new Container();
private final Label name = new Label();
private final Label message = new Label();
private final Label picture = new Label();
private final Label data = new Label();
....
public NewsFeedListRender()
{
setLayout(new BorderLayout());
newsFeedCont.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
pictureCont.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
Style s = name.getStyle();
s.setFont(font_large);
s = message.getStyle();
s.setFont(font_small);
s = data.getStyle();
s.setFont(font_mini);
.....
}
}
public Component getListCellRendererComponent(List list, Object value, int index, boolean isSelected)
{
if (value instanceof MessageItem)
{
MessageItem newsFeedData = (MessageItem) value;
if (newsFeedData.getSender() != null)
{
if (newsFeedData.getSender().getName() != null)
name.setText(newsFeedData.getSender().getName()); //fixthis
}
else
{
name.setText("Unknown sender");
}
if(newsFeedData.getMessage() != null)
message.setText(newsFeedData.getMessage());
else
{
message.setText("Default message");
}
try
{
data.setText(newsFeedData.getDataReceive().toString());
}
catch (Exception e)
{
System.out.println(e.toString());
}
Image img = null;
img = newsFeedData.getSender().getIcon();
if(img != null)
{
picture.setIcon(img);
}
.......
私は既にどのコンポーネントがアイテムに含まれているかを知っています。画像をクリックしたか、ラベルの1つをクリックしたかどうかを確認したいのですが? –
AFAIK listのリスナーを追加します。したがって、リスト項目でクリックされたコンポーネントを見つけることはできません。 – bharath