public void actionPerformed(ActionEvent e) {
String bstr=e.getActionCommand();//获得该组件上的文本内容;\
str =e.getActionCommand();
//判断是否需要给画笔加粗;setStoke方法可以给画笔加粗;了解到需要填入的对象是一个接口正常情况下
//是要创建一个类去实现接口的抽象方法,但是搜接口Stroke可以知道类BasicStroke已经实现了重写
if (str.equals("加粗"))
{
BasicStroke stroke =new BasicStroke(2.0f);//用一个实例去承载,设置画笔的信息
Graphics2D gr2 = (Graphics2D) gr;//不明白为什么gr2被设置了画笔大小,结果gr也被设置了大小
gr2.setStroke(stroke);
}
if (str.equals("恢复画笔"))
{
BasicStroke stroke =new BasicStroke(1.0f);//用一个实例去承载,设置画笔的信息
Graphics2D gr2 = (Graphics2D) gr;//不明白为什么gr2被设置了画笔大小,结果gr也被设置了大小
gr2.setStroke(stroke);
}
1.首先知道在Graphics 组件当中没有设置画笔粗细的方法
2.所以引入Graphics2D 组件,并用该类(组件)又创建了了一个实例
3.gr2.setStroke(stroke)
stroke的作用:该实例存储画笔粗细信息,将其通过setStroke()函数传递给对象gr2;
观察setStroke()方法的源代码
看到其参数的类型需要是一个类的实例(Stroke)
看Stroke的源代码
观察到Stroke是一个接口,如果要在setStroke()当中设置参数的话,按照原来方法需要重新写一个类来继承接口,重写接口的抽象方法
但是Java当中已经有类继承了该接口;我们可以直接使用可以使得结果简便;直接引用继承了的类即可;然后用该类创建实例;将画笔粗细信息存储在实例当中,在将该实例添加给画笔即可
文档查询图片
找到了已经有BrokeStroke类继承了该接口
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)