• 大小: 511KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: Java
  • 标签: Java2D  

资源简介

实现Java2D之字体编程: 1、java.awt.Font的使用。 2、用TextLayout和LineBreakMeasurer类设计一个有趣的艺术字演示程序; 3、模仿Word软件的某一个功能(如艺术字的)

资源截图

代码片段和文件信息

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


public class Clipping extends Japplet {

    public void init() {
setBackground(Color.white);
    }

    @Override
    public void paint(Graphics g) {
        Graphics2D g2;
        g2 = (Graphics2D) g;

        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING
                            RenderingHints.VALUE_ANTIALIAS_ON);

        g2.setRenderingHint(RenderingHints.KEY_RENDERING
                            RenderingHints.VALUE_RENDER_QUALITY);

        int w = getSize().width;
        int h = getSize().height;

        FontRenderContext frc = g2.getFontRenderContext();
        Font f = new Font(“Helvetica“Font.BOLD+Font.ITALICw/8);
        String s = new String(“中南民族大学“);
        TextLayout tl = new TextLayout(s f frc);
        float sw = (float) tl.getBounds().getWidth();
AffineTransform transform = new AffineTransform();
transform.setToTranslation(w/2-sw/2h/2);
        Shape shape = tl.getOutline(transform);
        g2.setClip(shape);
        g2.setColor(Color.blue);
        g2.fill(shape.getBounds());
        g2.setColor(Color.yellow);
        for (int j = shape.getBounds().y; j < shape.getBounds().y + shape.getBounds().height; j=j+3) {
            Line2D line = new Line2D.Float( 0.0f (float) j
                                        (float) w (float) j);
            g2.draw(line);
        }
    }

    public static void main(String[] args) {
         WindowListener l = new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {System.exit(0);}
            @Override
            public void windowClosed(WindowEvent e) {System.exit(0);}
        };

        frame f = new frame(“多媒体之2D文本展示“);
        f.addWindowListener(l);
        f.add(“Center“ new Clipping());
        f.pack();
        f.setSize(new Dimension(400 300));
        f.show();

    }

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        514  2010-04-28 13:02  源代码\Clipping$1.class

     文件       2819  2010-04-28 13:02  源代码\Clipping.class

     文件        206  2010-04-28 12:44  源代码\Clipping.html

     文件       2038  2010-04-28 13:02  源代码\Clipping.java

     文件       5116  2007-11-26 12:52  源代码\clouds.jpg

     文件       1929  2007-11-26 12:52  源代码\duke.gif

     文件        271  2010-04-28 12:50  源代码\left.html

     文件        406  2010-04-28 12:52  源代码\right.html

     文件        253  2010-04-28 12:56  源代码\Show.html

     文件        456  2010-04-28 13:11  源代码\ShowFont$1.class

     文件       3903  2010-04-28 13:11  源代码\ShowFont.class

     文件        207  2010-04-28 12:49  源代码\ShowFont.html

     文件       4574  2010-04-28 12:32  源代码\ShowFont.java

     文件        508  2010-04-28 13:06  源代码\Starry$1.class

     文件       2522  2010-04-28 13:06  源代码\Starry.class

     文件        204  2010-04-28 13:07  源代码\Starry.html

     文件       2161  2010-04-28 13:06  源代码\Starry.java

     文件       7643  2010-04-27 21:30  源代码\Text.java

     文件        526  2010-04-28 12:36  源代码\TextClipping$1.class

     文件       2890  2010-04-28 12:36  源代码\TextClipping.class

     文件        213  2010-04-28 12:49  源代码\TextClipping.html

     文件       2262  2010-04-28 11:51  源代码\TextClipping.java

     文件       1404  2010-04-28 14:23  源代码\WriteFont$1.class

     文件       1404  2010-04-28 14:23  源代码\WriteFont$2.class

     文件       1404  2010-04-28 14:23  源代码\WriteFont$3.class

     文件       1404  2010-04-28 14:23  源代码\WriteFont$4.class

     文件        426  2010-04-29 17:11  源代码\WriteFont.bat

     文件       4158  2010-04-28 14:23  源代码\WriteFont.class

     文件       8062  2010-04-28 14:23  源代码\WriteFont.java

     文件     615690  2010-04-28 14:24  源代码\多媒体实验报告.wps

............此处省略4个文件信息

评论

共有 条评论

相关资源