在学习ASP.net3.5从入门到精通中遇到问题1
2010-03-29 21:37
274 查看
如果@Provides方法很复杂的话,可以将这些代码移动到单独的类中。这个类需要实现Guice的Provider 接口,该接口定义如下
为一个generic 接口。
本例我们定义一个PathProvider,用于返回一个Path对象:
然后在Module中定义从Path类到Provider的绑定:
然后使用绘制这个Path:
本例下载
public interface Provider<T> { T get(); }
为一个generic 接口。
本例我们定义一个PathProvider,用于返回一个Path对象:
public class PathProvider implements Provider<Path>{ private String pathdata = "M 60 20 Q -40 70 60 120 Q 160 70 60 20 z"; @Override public Path get() { return Path.fromString(pathdata); } }
然后在Module中定义从Path类到Provider的绑定:
bind(Path.class).toProvider(PathProvider.class);
然后使用绘制这个Path:
public class ProviderBindingsDemo extends Graphics2DActivity{ @Inject Path path; protected void drawImage(){ AffineTransform mat1; // Colors Color redColor = new Color(0x96ff0000, true); Color greenColor = new Color(0xff00ff00); Color blueColor = new Color(0x750000ff, true); mat1 = new AffineTransform(); mat1.translate(30, 40); mat1.rotate(-30 * Math.PI / 180.0); // Clear the canvas with white color. graphics2D.clear(Color.WHITE); graphics2D.setAffineTransform(new AffineTransform()); SolidBrush brush = new SolidBrush(greenColor); graphics2D.fill(brush, path); graphics2D.setAffineTransform(mat1); brush = new SolidBrush(blueColor); com.mapdigit.drawing.Pen pen = new com.mapdigit.drawing.Pen(redColor, 5); graphics2D.setPenAndBrush(pen, brush); graphics2D.draw(null, path); graphics2D.fill(null, path); } }
本例下载
相关文章推荐
- 在学习ASP.net3.5从入门到精通中遇到问题2
- 在学习ASP.net3.5从入门到精通中遇到问题1
- 在学习ASP.net3.5从入门到精通中遇到问题2
- 深度学习之caffe入门一一配置SSD中遇到的问题
- cocos2d x 入门学习(二)Star Fighter项目交叉编译时遇到的问题
- 韩顺平_php从入门到精通_视频教程_第21讲_解答学员问题_学习笔记_源代码图解_PPT文档整理
- NET视频学习笔记 新手入门 可能遇到的问题
- (2) flume 入门学习 HelloWorld 及HDFS 遇到的问题 总结
- Android Studio 学习笔记-新手入门-(2)导入项目遇到的问题
- MonoRail入门实例学习遇到的问题
- MySQL入门学习时,所遇到的问题(1)
- cocos2d-X入门(win7+VS2012环境配置以及学习中遇到的问题)
- 大数据学习-遇到问题整理
- 学习Java web 开发遇到的问题及解决办法!
- 【IOS学习之常见问题】 app维护可能遇到的问题
- 学习css中遇到一个问题及解决方法
- 记录一下学习JAVA过程中所遇到的问题(持续更新)
- Java学习中遇到的问题
- 作为一名IT从业者,你在工作和学习中,遇到哪些问题
- 学习git 和遇到的一个git问题的解决方案 2017-02 学习