- 浏览: 284338 次
- 性别:
- 来自: 长春
文章分类
最新评论
-
378433707:
解决了我的问题!
struts2.3中StrutsPrepareAndExecuteFilter影响文件上传 -
woadaia:
jar 要哪些子啊,能不能直接发我一份,qq 39430532 ...
java调用打印机 -
ray198471:
...
jusb.jar -
liuhonggang123:
比较好
java 二维码 -
814687491:
这个JAR包分享得不得!加油!
java 二维码
网上转的,我自己测试着玩的。
package com.chengyi.common;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import usb.core.*;
public class Print extends JFrame implements ActionListener, Runnable {
private static final long serialVersionUID = 2264172608765466416L;
Thread readThread;
JScrollPane p1;
JTextField Text = new JTextField(10);
JButton ok = new JButton("打印");
JButton zou = new JButton("走纸");
JTextArea area = new JTextArea(15, 10);
JLabel l1 = new JLabel("Message:");
JLabel l2 = new JLabel(" 序号:");
JLabel l3 = new JLabel("店号:");
JTextField txtTitle = new JTextField(10);
JTextField txtPhoNo = new JTextField(10);
JLabel l4 = new JLabel("货号");
JLabel l5 = new JLabel("商品");
JLabel l6 = new JLabel("数量");
JLabel l7 = new JLabel("金额");
JTextField txtHouNo = new JTextField(10);
JTextField txtHouName = new JTextField(10);
JTextField txtNum = new JTextField(10);
JTextField txtKin = new JTextField(10);
JLabel l8 = new JLabel("共计:");
JLabel l9 = new JLabel("件商品");
JTextField txtGongji = new JTextField(10);
JLabel l10 = new JLabel("现金:");
JTextField txtXianjin = new JTextField(10);
JLabel l11 = new JLabel("-------------------------------------------" + "-----------------------------------------------------");
JLabel l12 = new JLabel("--------------------------------------------" + "----------------------------------------------------");
JLabel l13 = new JLabel("--------------------------------------------" + "----------------------------------------------------");
Print() {
setTitle("POS测试");
setVisible(true);
setLayout(null);
p1 = new JScrollPane(area);
add(l1);
l1.setBounds(35, 30, 100, 25);
add(Text);
Text.setBounds(100, 30, 150, 25);
add(ok);
ok.setBounds(270, 30, 80, 23);
add(zou);
zou.setBounds(370, 30, 80, 23);
add(l11);
l11.setBounds(35, 50, 400, 20);
add(l2);
l2.setBounds(35, 70, 100, 25);
add(txtTitle);
txtTitle.setBounds(100, 70, 100, 25);
add(l3);
l3.setBounds(250, 70, 50, 25);
add(txtPhoNo);
txtPhoNo.setBounds(300, 70, 100, 25);
txtTitle.setText("002");
txtPhoNo.setText("001");
add(l4);
l4.setBounds(35, 100, 50, 15);
add(l5);
l5.setBounds(150, 100, 100, 15);
add(l6);
l6.setBounds(275, 100, 50, 15);
add(l7);
l7.setBounds(400, 100, 50, 15);
add(txtHouNo);
txtHouNo.setBounds(35, 115, 50, 25);
add(txtHouName);
txtHouName.setBounds(150, 115, 100, 25);
add(txtNum);
txtNum.setBounds(275, 115, 50, 25);
add(txtKin);
txtKin.setBounds(400, 115, 50, 25);
txtHouNo.setText("N2105");
txtHouName.setText("还魄丹");
txtNum.setText("1");
txtKin.setText("0.50");
add(l12);
l12.setBounds(35, 140, 400, 20);
add(l8);
l8.setBounds(35, 165, 100, 25);
add(txtGongji);
txtGongji.setBounds(85, 165, 50, 25);
add(l9);
l9.setBounds(150, 165, 100, 25);
add(l10);
l10.setBounds(35, 190, 100, 25);
add(txtXianjin);
txtXianjin.setBounds(85, 190, 50, 25);
txtGongji.setText("1");
txtXianjin.setText("0.50");
add(l13);
l13.setBounds(35, 215, 400, 20);
ok.addActionListener(this);
zou.addActionListener(this);
setSize(500, 500);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setResizable(false);
setVisible(true);
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screen.width - 400) / 2, (screen.height - 400) / 2);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(1);
}
});
}
public void run() {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
}
}
public static void main(String[] args) {
try {
Host host = HostFactory.getHost();
Bus[] bus = host.getBusses();
int total_bus = bus.length;
for (int i = 0; i < total_bus; i++) {
Device root = bus[i].getRootHub();
int total_port = root.getNumPorts();
for (int j = 1; j <= total_port; j++) {
Device device = root.getChild(j);
if (device != null) {
// USB操作
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
//new Print();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == ok) {
try {
FileWriter fw = new FileWriter("LPT1:");
if (fw != null) {
Text.setText("连接打印机成功! ");
PrintWriter pw = new PrintWriter(fw);
pw.print("\r\n");
pw.print(" 山 高 路 远 大 药 房");
pw.print("\r\n");
pw.print("------------------------------");
pw.print("\r\n");
pw.print(" 序号:" + txtTitle.getText() + " 店号: " + txtPhoNo.getText());
pw.print("\r\n");
pw.print("货号 商品 数量 金额 ");
pw.print("\r\n");
pw.print("" + txtHouNo.getText() + " " + txtHouName.getText() + " " + txtNum.getText() + " " + txtKin.getText());
pw.print("\r\n");
pw.print("共计:" + txtGongji.getText() + " 件商品 ");
pw.print("\r\n");
pw.print("现金:" + txtXianjin.getText());
pw.print("\r\n");
pw.print("------------------------------");
pw.print("\r\n");
setBondD(pw);
pw.print(" 欢 迎 再 次 光 临");
pw.write(0x1c);
pw.write(0x21);
pw.write(0);
pw.print("\r\n");
pw.print("\r\n");
pw.print("\r\n");
pw.close();
}
} catch (IOException e1) {
e1.printStackTrace();
Text.setText("连接打印机失败!");
}
} else if (e.getSource() == zou) {
try {
FileWriter fw = new FileWriter("LPT1:");
if (fw != null) {
Text.setText("连接打印机成功! ");
PrintWriter pw = new PrintWriter(fw);
pw.print("\r\n");
pw.print("\r\n");
pw.close();
}
} catch (IOException e1) {
e1.printStackTrace();
Text.setText("连接打印机失败!");
}
}
}
public static void setBondD(PrintWriter pr) {
pr.write(0x1c);
pr.write(0x21);
pr.write(8);
}
public static void setBondX(PrintWriter pr) {
pr.write(0x1c);
pr.write(0x21);
pr.write(0);
}
}
发表评论
-
RSA加密解密签名验签代码(sun、BC)
2018-06-21 10:35 1454自用RSA加解密算法 -
HTTPClient 4.3.X
2018-05-08 17:08 531自用代码 -
Errors running builder 'DeploymentBuilder' on project '项目名'.
2017-12-27 09:21 578错误: Errors occurred durin ... -
图片水印
2017-11-13 19:21 472 -
SAML2发送断言
2017-10-24 15:04 896已经认证的用户,直接向应用发送断言 pack ... -
下载jar包
2017-10-20 10:35 390http://www.manyjar.com/ ... -
ActiveMQ
2017-03-17 15:14 296转:http://blog.csdn.net/jwds ... -
http方式访问wsdl
2017-01-10 10:28 865先将wsdl用SOAPUI取出xml,后拼装xml串, ... -
quartz 时间配置
2017-01-04 09:14 776纯自用 序号 说明 ... -
WAS支持RSA公钥解密
2016-12-21 15:36 1143需要将 -Dcom.ibm.crypto.provider ... -
页面禁止 iframe嵌套
2016-11-22 16:32 1222jsp: <meta http-equiv= ... -
easyui ajax表单上传 springMVC
2016-03-29 16:09 20041.页面 <form id="fo ... -
webservice获取客户端ip
2016-01-26 14:48 1343自用: import javax.xml.ws ... -
spring security oauth2 单点登录
2016-01-07 10:33 6767本人自己 研究及 ... -
页面跳转
2015-12-31 11:05 6101.不带request信息的 response.se ... -
jdk 发布 webservice
2015-07-13 17:01 551本文为原创: 1.web.xml:配置ws发 ... -
ACTIVITI如何获取下一步节点
2015-02-03 15:51 2187转自http://lvdong5830.iteye.c ... -
spring framework 4.1.1最新版
2014-11-06 09:14 736spring framework 4.1.1最新版 ... -
struts2.3中StrutsPrepareAndExecuteFilter影响文件上传
2014-02-28 10:15 2293StrutsPrepareAndExecuteFilt ... -
java过滤器配置与实现
2014-02-26 11:32 849StrutsPrepareAndExecuteFil ...
相关推荐
### Java调用打印机打印的相关教程 #### 一、Java打印API简介 Java打印API主要包含在`java.awt.print`包中。随着Java的发展,特别是从JDK 1.4开始,Java提供了更为丰富的打印支持,这主要体现在`javax.print`及其...
使用java实现调用打印机动态指令打印条码。
在Java编程环境中,调用本地打印机是一项常见的任务,特别是在企业级应用中,如报表生成、文档打印等场景。本文将详细讲解如何利用Java API来实现这一功能,以及可能遇到的问题和解决方案。 首先,Java提供了`java....
本工具类实现了这一需求,通过Java调用网络打印机来完成打印任务,并且支持自定义打印内容,如快递单号、发票等。本文将详细介绍该工具类的关键实现逻辑。 #### 二、核心功能 - **自动化打印**:根据用户订单信息...
java 如何调用系统打印机打印文件,也是从别人借鉴过来,免费的
在IT行业中,尤其是在开发零售或餐饮系统的背景下,Java调用小票打印机打印购物清单是一项常见的任务。这个过程涉及到几个关键的技术点,包括打印机驱动的处理、串口通信、文本格式化以及与硬件设备的交互。以下是对...
Java调用USB并口打印机是一项技术任务,涉及到Java编程、硬件接口通信以及打印技术。在本文中,我们将深入探讨如何通过Java实现这一功能,以及相关的技术细节。 首先,理解“并口”(LPT)是一种古老的接口,常用于...
在Java编程环境中,调用实体打印机来打印...总之,Java调用实体打印机打印PDF文件涉及到PDF处理库的使用、打印服务API的配置以及错误处理等多个环节。正确理解和运用这些知识点,可以帮助你构建一个可靠的PDF打印系统。
Java打印Excel技术主要涉及到Java应用程序如何与打印机进行交互,以便将Excel文档的内容输出到纸质媒介上。在这个过程中,一个常见的第三方库是Jacob(Java COM Bridge),它为Java提供了与COM组件交互的能力,使得...
4. **PDF和图片打印**:`PrintUtil.java`可能是实现打印逻辑的类,它包含了调用Java的`PrinterJob`和`PrintService`接口的方法。`PrinterJob.print()`方法用于实际的打印操作,它可以接收各种类型的图形对象(如...
Java原生的打印功能,连接打印机可直接代用代码打印,也可以出现文件选择框功能,选中文件再打印!
打印图片程序,里面有详细的语句注释;在pic.printjpg("filename.gif", "1");输入文件名"filename.gif" 和打印份数"1";
在Java环境下,我们可以编写程序来发送ZPL指令到斑马打印机,实现打印任务。本项目提供了可运行的源码,使得开发者无需依赖ts24.lib库就能处理中文和二维码打印。 首先,理解ZPL指令是实现斑马打印机打印的基础。...
总的来说,JAVA连接打印机打印小票涉及到硬件交互、网络编程和可能的本地库调用。理解和掌握这些知识点,能帮助开发者灵活应对不同场景下的小票打印需求。在实践中,记得不断调试和优化,以确保打印效果和效率。
如果你还在为看不懂java打印服务源码而发愁,请下载这个代码吧。此代码可以根据你的喜好打印不同的字体和图片,还可以根据打印机名自动区分打印机进行打印。代码里面的大小是根据 58mmPOS打印机设计的,已经对代码...
将打印指令放到txt文档中,读取文档中的指令,发送到斑马打印机中,实现打印。此代码已经非常精简,项目需要用到ts24.lib,资源中也付带这个文件,并且附带一个C.txt文档的指令作为实验用。C.txt和ts24.lib请放在代码...
- `paperW` 和 `paperH`: 分别表示打印纸张的宽度和高度,这些值可以通过调用打印机获取。 - `printType`: 打印类型,用于区分打印的是快递单还是发票。 - `map`: 存储打印所需的各种参数,如订单信息等。 ##### ...
java调用打印机实现word打印功能java调用打印机实现word打印功能