java getimage_Java ImageView.getImage方法代码示例

import javafx.scene.image.ImageView; //导入方法依赖的package包/类

@FXThread

private static void updateListener(@NotNull final Node node, @NotNull final ImageView imageView,

@NotNull final ReadOnlyBooleanProperty condition,

@NotNull final Object listenerKey, @NotNull final Object notSelectedKey,

@NotNull final Object selectedKey) {

final EditorConfig editorConfig = EditorConfig.getInstance();

final CssColorTheme theme = editorConfig.getTheme();

if (!theme.needRepaintIcons()) {

return;

}

final ObservableMap properties = node.getProperties();

final Image newImage = imageView.getImage();

if (newImage == null) {

properties.remove(listenerKey);

return;

}

final Image original = FILE_ICON_MANAGER.getOriginal(newImage);

properties.put(notSelectedKey, newImage);

properties.put(selectedKey, original);

final ChangeListener listener = (observable, oldValue, newValue) -> {

if (newValue) {

imageView.setImage((Image) properties.get(selectedKey));

} else {

imageView.setImage((Image) properties.get(notSelectedKey));

}

};

condition.addListener(listener);

properties.put(listenerKey, listener);

if (condition.get()) {

imageView.setImage(original);

} else {

imageView.setImage(newImage);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个使用RecyclerView实现多布局的示例代码: public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private List<Object> items; private final int USER = 0, IMAGE = 1; public MyAdapter(List<Object> items) { this.items = items; } @Override public int getItemViewType(int position) { Object object = items.get(position); if (object instanceof User) { return USER; } else if (object instanceof Image) { return IMAGE; } return -1; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext()); View view; if (viewType == USER) { view = layoutInflater.inflate(R.layout.user_layout, parent, false); return new UserViewHolder(view); } else if (viewType == IMAGE) { view = layoutInflater.inflate(R.layout.image_layout, parent, false); return new ImageViewHolder(view); } return null; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { Object object = items.get(position); if (object instanceof User) { ((UserViewHolder) holder).bindView((User) object); } else if (object instanceof Image) { ((ImageViewHolder) holder).bindView((Image) object); } } @Override public int getItemCount() { return items.size(); } private class UserViewHolder extends RecyclerView.ViewHolder { private TextView name; public UserViewHolder(View itemView) { super(itemView); name = itemView.findViewById(R.id.name); } public void bindView(User user) { name.setText(user.getName()); } } private class ImageViewHolder extends RecyclerView.ViewHolder { private ImageView image; public ImageViewHolder(View itemView) { super(itemView); image = itemView.findViewById(R.id.image); } public void bindView(Image image) { this.image.setImageDrawable(image.getImage()); } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值