快速业务通道

JavaSwing匆妾凩岻屈?桟桟?耗 - 園殻秘壇利

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
true);          g2d.setPaint(paint);          Ellipse2D.Double leftCircle = new  Ellipse2D.Double(x - circleWidth / 2, y, circleWidth,  height);          Ellipse2D.Double rightCircle = new  Ellipse2D.Double(x + width - circleWidth / 2, y, circleWidth,  height);          int thickness=4;          Ellipse2D.Double rightHollowCircle = new  Ellipse2D.Double(rightCircle.getX()+thickness,              rightCircle.getY()+thickness,              rightCircle.getWidth()-thickness*2,              rightCircle.getHeight()- thickness*2);          Rectangle rect = new Rectangle(x, y, width,  height);          Area area = new Area(leftCircle);          area.add(new Area(rect));          area.subtract(new Area(rightCircle));          g2d.fill(area);          g2d.setColor(color.darker());          g2d.fill(rightCircle);          paint = new GradientPaint(x,                                    y,                                    Color.darkGray,                                    x,                                    y + (int) (height * 0.4),                                    Color.lightGray,                                    true);          g2d.setPaint(paint);          g2d.fill(rightHollowCircle);          g2d.setClip(null);          return rightHollowCircle;      }      public static void main(String[] args) {          JFrame frame = new JFrame();          frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);          frame.setSize(800, 600);          frame.add(new PipleComponent());          frame.setVisible(true);      } }

JavaSwing也惊艳之二:环环相套(2)

时间:2011-06-19 BlogJava Swing

三、总结

本文知识要点:

渐变填充:创建 GradientPaint并设置“亮-暗-亮”的填充模式;

使用Clip:类似蒙版/剪切的Java2D技术。看看Graphics的setClip函数即可;

Area的使用:主要是Area的相交、合并等几个常见图形处理 手法。详细请看java.awt.geom.Area类;

使用随机色:这个 就太简单了,如果有twaver.jar,可以直接使用TWaverUtil.getRandomColor() ;如果没有,就直接new Color就行了,注意使用第四个int参数增加Alpha透明 度的变化;

如果大家感兴趣,可以尝试用上述Java2D技巧实现下图效果 :

六、参考资料

http://java.sun.com/j2se/1.4.2/docs/guide/2d/spec/j2d- bookTOC.html

http://java.sun.com/j2se/1.4.2/docs/guid e/2d/spec.html

http://www.apl.jhu.edu/~hall/java/Java2D- Tutorial.html

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号