您当前的位置: 首页 > 

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4642博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

在JFrame窗口上绘制文字,用PrintJob打印出来

柳鲲鹏 发布时间:2020-10-13 16:40:47 ,浏览量:0

  代码比较简单,供大家参考:

package taishan;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.PrintJob;
import java.awt.Toolkit;
import java.awt.geom.AffineTransform;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.util.Properties;

import javax.swing.JFrame;

@SuppressWarnings("serial")
public class PrintFrame extends JFrame
{
	
	private final static int    startX  = 200;
	private final static int    startY  = 200;
    private final static String TAISHAN = "泰山Office";

	public PrintFrame()
	{
	    this.getContentPane().setBackground(Color.WHITE);
		//this.setFont(font);
	}

	@Override
    public void paint(Graphics g)
    {
		super.paint(g);
	    g.drawString(TAISHAN, startX, startY);
    }
	
	public void startPrint()
    {
		Toolkit kit = Toolkit.getDefaultToolkit();
		
		Properties props = new Properties();
		props.put("awt.print.printer",   "durango");
		props.put("awt.print.numCopies", "1");
		PrintJob printJob = kit.getPrintJob(this, "Print Frame", props);
		
		Graphics g = printJob.getGraphics();
		try
		{
			this.paintAll(g);
		}
		finally
		{
			g.dispose();
		}
		printJob.end();
	}
    
    public static void main(String[] args)
    {
        //主要用处是显示画面。
    	PrintFrame frame = new PrintFrame();
        frame.setSize(1000, 600);
        frame.setVisible(true);
        
       	frame.startPrint();
    }
	
}

关注
打赏
1665724893
查看更多评论
立即登录/注册

微信扫码登录

0.0554s