Java me 运动项目问题
我有一个标准的Java me 运动项目问题,java-me,lwuit,Java Me,Lwuit,我有一个标准的com.sun.lwuit.list。我可以使用方法getSelectedItem或getSelectedIndex获取所选项目。该项目是一张图片和两个标签。我怎么知道我是点击了图片还是其中一个标签。我承认可以将单击事件传递给子组件,或者可能存在一种通过当前鼠标坐标查找组件的方法 public class NewsFeedListRender extends Container implements ListCellRenderer { private final Con
com.sun.lwuit.list
。我可以使用方法getSelectedItem
或getSelectedIndex
获取所选项目。该项目是一张图片和两个标签。我怎么知道我是点击了图片还是其中一个标签。我承认可以将单击事件传递给子组件,或者可能存在一种通过当前鼠标坐标查找组件的方法
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);
}
.......
getSelectedItem()
返回容器
对象,您可以计算容器
对象的值。然后,您需要获取添加到此容器中的组件是什么。参见示例代码
Container con = (Container) list.getSelectedItem();
for(int i = 0; i < con.getComponentCount(); i++){
Object obj = (Object) con.getComponentAt(i); // typecast component name instead object
}
Container con=(Container)list.getSelectedItem();
对于(int i=0;i
我已经知道项目中包含哪些组件。我想知道我是点击图片还是其中一个标签有多确定?好的,请添加列表的侦听器。因此,在列表项中找不到单击的组件。