`

Applet打印

 
阅读更多



 效果如上图:

 

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.awt.print.PrinterJob;
import java.awt.print.*;

public class drawfarcode extends Applet implements Printable, ActionListener
{
	
	private static final long serialVersionUID = 1L;
	private String farcodevalue;

	public drawfarcode()
	{
	}

	public void init()
	{
		Frame f1 = new Frame();
		f1.setLayout(new BorderLayout());
		f1.setBackground(Color.white);
		f1.setSize(700, 200);
		Button prnbutton = new Button("打印");
		this.add("South", prnbutton);
		prnbutton.addActionListener(this);
		farcodevalue = "123";
	}

	public void actionPerformed(ActionEvent e)
	{
		PrinterJob printJob = PrinterJob.getPrinterJob();
		printJob.setPrintable(this);
		if (printJob.printDialog())
		{
			try
			{
				printJob.print();
			}
			catch (PrinterException ex)
			{
				ex.printStackTrace();
			}

		}
	}

	public void paint(Graphics g)
	{
		int startX = 100;
		int startY = 50;
		int height = 50;
		int width = 1; //最小线条宽度   
		String curFar;
		int curX = startX;
		g.setColor(Color.black);
		for (int i = 0; i < farcodevalue.length(); i++)
		{
			curFar = farcodevalue.substring(i, i + 1);
			if (curFar.equals("0"))
			{
				g.fillRect(curX, startY, width, height);
				g.fillRect(curX + 2 * width, startY, width, height);
				g.fillRect(curX + 5 * width, startY, 2 * width, height);
				g.fillRect(curX + 8 * width, startY, 2 * width, height);
				g.fillRect(curX + 11 * width, startY, width, height);
				curX = curX + 13 * width;
			}
			else if (curFar.equals("1"))
			{
				g.fillRect(curX, startY, 2 * width, height);
				g.fillRect(curX + 3 * width, startY, width, height);
				g.fillRect(curX + 6 * width, startY, width, height);
				g.fillRect(curX + 8 * width, startY, width, height);
				g.fillRect(curX + 10 * width, startY, 2 * width, height);
				curX = curX + 13 * width;
			}
			else if (curFar.equals("2"))
			{
				g.fillRect(curX, startY, width, height);
				g.fillRect(curX + 2 * width, startY, 2 * width, height);
				g.fillRect(curX + 6 * width, startY, width, height);
				g.fillRect(curX + 8 * width, startY, width, height);
				g.fillRect(curX + 10 * width, startY, 2 * width, height);
				curX = curX + 13 * width;
			}
			else if (curFar.equals("3"))
			{
				g.fillRect(curX, startY, 2 * width, height);
				g.fillRect(curX + 3 * width, startY, 2 * width, height);
				g.fillRect(curX + 7 * width, startY, width, height);
				g.fillRect(curX + 9 * width, startY, width, height);
				g.fillRect(curX + 11 * width, startY, width, height);
				curX = curX + 13 * width;
			}
		}
	}

	public int print(Graphics g, PageFormat pf, int pi) throws PrinterException
	{
		if (pi >= 1)
		{
			return Printable.NO_SUCH_PAGE;
		}
		g.setClip(0, 0, 600, 800);
		paint(g);
		return Printable.PAGE_EXISTS;
	}
}

 注意:

      如果嵌入网页中点击按钮没反应,则需要做数字签名。其实,数字签名很简单的了。。。其中有几篇转载的文章就是说这个的。。。。就几个步骤照做就行。。。

  • 大小: 5.3 KB
  • 大小: 8.2 KB
分享到:
评论

相关推荐

    applet和servlet的通讯,并打印

    applet请求servlet,然后servlet读取文件流,并把文件流返回给applet,供applet打印

    jasperreport+applet客户端打印demo

    jasperreport+applet客户端打印demo

    zebra Applet打印

    zebra Applet打印

    jasperreports-applet-5.1.0.jar

    jasperreport 报表打印客户端使用applet打印。

    jaserreport结合struts 的打印实例源码

    结合struts做的jasperreport打印实例,在jsp上实现翻页功能,pdf,excel,word转换功能以及applet打印和预览功能.这是eclipse工程打包文件,下载后解压通过eclipse进行部署,供入门者参考学习使用.

    Java燗applet+jasperReport 实现web端打印

    Java燗applet+jasperReport 实现web端打印

    runqian_report4.jar、runqianReport4Applet.jar

    在公司开发java项目整合润乾报表,原来的jar包有问题,替换上这个包问题立刻就解决打印、导出等问题了。

    java调用打印机打印的相关教程

    所以,在以前用Java/Applet/JSP/Servlet设计的程序中,较复杂的打印都是通过调用ActiveX/OCX控件或者VB/VC程序来实现的,非常麻烦。实际上,SUN公司也一直致力于Java打印功能的完善,而Java2平台则终于有了一个健壮...

    jasperreports-5.6.0+applet实现客户端打印所需的jar包

    我使用的是ireport5.6.0+jasperreports5.6.0版本。实现客户端打印需要用到这些包。我在网上也找过有的都不全,这些jar包我都亲自试过。

    jasperReport客户端打印。

    jasperreport、applet 客户端打印 注意:使用程序请导入jasperReport3.0和iReport3.0的包。

    SWT或Applet打开Office文件

    SWT或Applet打开Office文件,实现打开本地文件,已开发在服务器端实现,具体可以私聊

    java打印三角形、菱形

    打印三角形、倒置三角形、空心菱形、V形、X形 可以使用静态打印器或者多态的打印器 内部有测试用例,部分效果 ☎ ☎☎☎ ☎☎☎☎☎ ☎☎☎☎☎☎☎ 由于上传的附件内有乱码会导致运行报错,运行前删除所有的...

    Java打印程序设计

    所以,在以前用Java/Applet/JSP/Servlet设计的程序中,较复杂的打印都是通过调用ActiveX/OCX控件或者VB/VC程序来实现的,非常麻烦。实际上,SUN公司也一直致力于Java打印功能的完善,而Java2平台则终于有了一个健壮...

    THCN.rar_applet

    这是冒泡法程序,其中打印出了各个排序的过程

    iReport4.5打印实例

    网上资料都是3.0的打印,但是我们用4.5做的报表模板用3.0的库去打印难免会出现问题,比如说4.5中有Table组件而3.0版本中没有,如果使用3.0的库去打印必然是出现问题的。为解决这一问题精心设计了这个小程序。 程序很...

    jasperreports-flash 4.0.0web多页打印及其预览

    jasperreports-flash来实现web客户端打印的功能,避免了applet客户端打印在客户端安装jre的限制。jasperreports-flash只需要求客户端有能浏览swf文件的flash player就行了。可以根据自己的需求修改example.mxml文件...

    jasperreports-flash 3.7.0web多页打印及其预览

    jasperreports-flash来实现web客户端打印的功能,避免了applet客户端打印在客户端安装jre的限制。jasperreports-flash只需要求客户端有能浏览swf文件的flash player就行了。可以根据自己的需求修改example.mxml文件...

    java打印全集

    java实现打印,预览,打印文件等。。。

    MaskBarcode.rar_BarcodePrintServlet_java 条形码_maskbarcode_servlet

    我们采用java技术,提供Servlet,Applet和Swing等多种方式,使您既可以在服务器端Servlet程序中动态的生成JPEG格式的条形码图片文件,也可以在HTML页面中以Applet的方式嵌入条码图形,或者是在Swing等图形界面程序中嵌入...

    条码打印方案和代码实例

    1. 方案一:XML Publisher 21.1. 总体说明 21.2. 必要设置 21.3. 一个简单例子 5 1.4. 直接用OAF输出到浏览器... 再来个实用例子:Java Applet 13方案三:Oracle Reports/IX Libary 143.1. 总体说明 143.2. 必要设置 14

Global site tag (gtag.js) - Google Analytics