当前位置:  技术问答>java相关

谁对java的图形技术比较熟悉的帮帮忙。

    来源: 互联网  发布时间:2015-02-12

    本文导语:  我目前在做一个画板,但是遇到了难题,不知道该如何对所画出来的封闭图形填充颜色,哪位给给方法,不甚感激。 | 你的圖形是復合形狀麼? 如果那樣就要用就要用到 java.awt.geom包的Area類...

我目前在做一个画板,但是遇到了难题,不知道该如何对所画出来的封闭图形填充颜色,哪位给给方法,不甚感激。

|
你的圖形是復合形狀麼?
如果那樣就要用就要用到 java.awt.geom包的Area類和GenearlPath類
給你一個例子:
/*
* @(#)Pear.java   1.2 98/07/31
*/


import java.awt.*;
import java.awt.event.*;
import java.awt.font.*;
import java.awt.geom.*;
import javax.swing.*;

/*
 * This applet renders a pear, using Constructive Area Geometry (CSG) methods,
 * add, intersect, and subtract.
*/

public class Pear extends JFrame {

    Ellipse2D.Double circle, oval, leaf, stem;
    Area circ, ov, leaf1, leaf2, st1, st2;

    public Pear() {
        circle = new Ellipse2D.Double();
        oval = new Ellipse2D.Double();
        leaf = new Ellipse2D.Double();
        stem = new Ellipse2D.Double();
        circ = new Area(circle);
        ov = new Area(oval);
        leaf1 = new Area(leaf);
        leaf2 = new Area(leaf);
        st1 = new Area(stem);
        st2 = new Area(stem);

        setBackground(Color.white);
    }

    public void paint (Graphics g) {
        Graphics2D g2 = (Graphics2D) g;
        Dimension d = getSize();
        int w = d.width;
        int h = d.height;
        double ew = w/2;
        double eh = h/2;

        g2.setColor(Color.green);

        // Creates the first leaf by filling the intersection of two Area objects created from an ellipse.
        leaf.setFrame(ew-16, eh-29, 15.0, 15.0);
        leaf1 = new Area(leaf);
        leaf.setFrame(ew-14, eh-47, 30.0, 30.0);
        leaf2 = new Area(leaf); 
        leaf1.intersect(leaf2);   
        g2.fill(leaf1);   

        // Creates the second leaf.
        leaf.setFrame(ew+1, eh-29, 15.0, 15.0);
        leaf1 = new Area(leaf);
        leaf2.intersect(leaf1);
        g2.fill(leaf2);

        g2.setColor(Color.black);

        // Creates the stem by filling the Area resulting from the subtraction of two Area objects created from an ellipse.
        stem.setFrame(ew, eh-42, 40.0, 40.0);
        st1 = new Area(stem);
        stem.setFrame(ew+3, eh-47, 50.0, 50.0);
        st2 = new Area(stem);
        st1.subtract(st2);
        g2.fill(st1);

        g2.setColor(Color.yellow);

        // Creates the pear itself by filling the Area resulting from the union of two Area objects created by two different ellipses.
        circle.setFrame(ew-25, eh, 50.0, 50.0);
        oval.setFrame(ew-19, eh-20, 40.0, 70.0);
        circ = new Area(circle);
        ov = new Area(oval);
        circ.add(ov);
        g2.fill(circ);
    }

    public static void main(String s[]) {
        JFrame f = new Pear();
        f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {System.exit(0);}
        });
        f.pack();
        f.setSize(new Dimension(150,200));
        f.show();
    }
    public void Notify(){
     repaint();
   }
   

}

    
 
 

您可能感兴趣的文章:

  • 请教一些JAVA的基本问题,初学JAVA有些迷糊,帮帮忙!总迷糊实在受不了了!
  • 初学JAVA,请各位高手帮帮忙!
  • 请问在那里可以下载java帮助??新手上路,请帮帮忙!
  • 用visualage for Java 哥们来帮帮忙!~
  • 不知哪里有VisiBroker for Java下载,各位大哥------帮帮忙!(要要正式版)
  • 现急需bmp文件转换成jpg文件的java源代码,请高手们帮帮忙,分数可再加。
  • 在线等待,java字符集的问题.急,请大家帮帮忙?
  • 没人帮忙吗?我想用JAVA编一个像WINDOW中的画图软件,现在出现了如下问题,请各位老哥老姐帮帮忙
  • 我刚开始学习java+xml编程,但是我怎么也找不到sun的sax包,请各位帮帮忙!
  • java 可以使用 可是javac不可以使用。老兄帮帮忙
  • ************在JAVA中发个声音好难啊,各位帮帮忙
  • tomcat401的问题:启动是告诉我要“set java-home",不知为何,怎么办才好?帮帮忙,现在只能给32分
  • 各位老大帮帮忙,如何在EditPlus 里面编辑java程序能有上下文提示阿?
  • 100大洋求java的开发规约!!大家帮帮忙.
  • 这有一道JAVA认证题,有谁会,帮帮忙!
  • 在JAVA中如何用接口实现C++的多重继承呀?帮帮忙!
  • 熟悉C++和Java的高手请务必帮帮忙,我现在要将一种语言的源代码改成另一种
  • 在www.java.sun.com网站down下来的j2ee tutorail,提到How to Build and Run the Examples,里面有不明的地方,请帮帮忙,谢谢!!!
  • JAVA初学者的小问题,各位大侠帮帮忙。
  • 帮帮忙,老大催得太急,JAVA中把繁体转换成简体,哪位兄弟救救我
  • import Java.sql.*; 报错包 Java.sql 不存在?请帮帮我!
  • 一个java I/O的问题,谁帮帮我!
  • java菜鸟 帮帮我 很简单的问题啊
  • 我的第一个java application程序,编译不通过,快来帮帮我这个初学者!
  • :除使用vj6之外,我可用什麽办法把java编译成exe,快帮帮小妹!!
  • 我是一个JAVA初学者,帮帮我!
  • java初学者的几个疑惑,请帮帮我,谢谢
  • 一个简单的java程序!不知道错在哪里了!请大家帮帮我,谢谢!
  • 高分求有关java学习的好站点,及经典的介绍javabean的书籍。各位大侠,帮帮我好么?一定给分!
  • 帮帮初学者:为什么在WIN2000Server的命令提示符下输入javac welcome.java不对?
  • 我用java做的applet站内搜索程序,不能搜索中文,那位大虾能帮帮我?代码如下:
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • coLinux下怎么出现图形界面?没有象Xwindow这样的东西,java写的JPanel这些东西可以图形显示吗?
  • 求用Java语言写成的图形的各种变换、特效等的程序代码的网址???或对图形的特效有何独特的见解,也可发表一下。
  • 寻找<<java2图形设计卷2SWING>>一书源代码和<<java网络高级编程>>一书源代码
  • Java 3D图形引擎 Catcake
  • Linux下面的开发好的Java程序,如何部署到其他机器?开发好的Java图形程序,终端上能否用?等问题
  • Java图形图表库 GRAL
  • Java绘制3D图形的类库 Jzy3D
  • 图形化Java类大小统计工具 JSizer
  • Java图形界面包 UIHierarchy
  • Java的图形界面开发框架 Magritte
  • Java图形组件 JGraph
  • 有没有好的Java图形开发工具?
  • Java图形组件 OpenSwing
  • Java2D图形包 G
  • 怎么实现在JAVA编写的绘图版中的图形进行翻转和缩放等操作?
  • 用java能否开发图形报表程序
  • 请问那里有java控制图形的介绍和代码?
  • Java 图形问题
  • 谁有Java 2图形设计卷I、 卷ⅡCD的配套代码?
  • 那里有《Java 2图形设计》下载?
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3