java代码打印信息吗 java打印的代码

用Java代码生成打印收据

首先 来看看效果 如下图

10年的罗平网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整罗平建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“罗平网站设计”,“罗平网站推广”以来,每个客户项目都认真落实执行。

代码如下

PrintTest java

import java awt BasicStroke;

import java awt Color;

import java awt Font;

import java awt Graphics;

import java awt Graphics D;

import java awt print Book;

import java awt print PageFormat;

import java awt print Paper;

import java awt print Printable;

import java awt print PrinterException;

import java awt print PrinterJob;

import java text SimpleDateFormat;

import java util Date;

import snjp model RentDetail;

import snjp parameter RentRecordParameter;

public class PrintTest implements Printable

{

private String roomID;

private Date printDate;

private Integer rentType;

private Float waterFee;

private Float electricityFee;

private Float rent;

private String remark;

private static int RECEIPT_NO = ;

public PrintTest()

{

}

public PrintTest printTest;

public PrintTest(RentRecordParameter prentRecord RentDetail prentDetail)

{

this roomID = prentRecord getRoomId()+ 房间 ;

this printDate = prentRecord getRegisterDate();

this rentType = prentRecord getRentType();

this waterFee = prentDetail getWaterBill();

this electricityFee = prentDetail getElectricityBill();

this rent = prentDetail getRent();

this remark = prentDetail getRemark();

}

/** */

/**

* @param Graphic指明打印的图形环境

* @param PageFormat指明打印页格式(页面大小以点为计量单位 点为 英才的 / 英寸为 毫米 A 纸大致为 × 点)

* @param pageIndex指明页号

**/

public int print(Graphics graphics PageFormat pf int pageIndex)

throws PrinterException

{

//print string

String receiptTitle = 收款收据 ;

String content = 今收到 ;

String feeItem = null;

Float rentTotal = f;

String content = 总计人民币(大写) ;

//收款的内容(根据租赁类型 只有 房租 房租 水费 电费 两种值)

switch(this rentType)

{

case :

feeItem = 房租 押金 ;

rentTotal=this rent;

break;

case :

feeItem = 房租 押金 水费 电费 ;

rentTotal=this rent+this electricityFee+this waterFee;

break;

default:

feeItem = 未知收费项目 ;

}

//转换成Graphics D

Graphics D graphics D = (Graphics D) graphics;

//设置打印颜色为黑色

graphics D setColor(Color black);

//打印起点坐标x=

double x = pf getImageableX();

double y = pf getImageableY();

System out println( 打印起点坐标值是{ +x+ +y+ } );

switch (pageIndex)

{

case :

//设置打印字体(字体名称 样式和点大小)(字体名称可以是物理或者逻辑名称)

//Java平台所定义的五种字体系列 Serif SansSerif Monospaced Dialog 和 DialogInput

Font font = new Font( 新宋体 Font TRUETYPE_FONT );

graphics D setFont(font);//设置字体

BasicStroke   basicStroke=new   BasicStroke( f);

float[] dash = { f };

//设置打印线的属性

// 线宽; ; ; 空白的宽度; 虚线的宽度; 偏移量

//                graphics D setStroke(new BasicStroke( f

//                                BasicStroke CAP_BUTT BasicStroke JOIN_MITER

//                                f dash f));

//graphics D setStroke(new BasicStroke( f));

graphics D setStroke(basicStroke);//设置线宽

float height = font getSize D();//字体高度

System out println( 字体高度是 +height);

//绘制收据标题

graphics D drawString(receiptTitle (float) y + * height);

//绘制收据编号

String receiptNo = String valueOf(RECEIPT_NO);

graphics D drawString( No : +GlobalMethod get String(receiptNo ) (float)x* (float) y + * height);

//绘制打印时间

SimpleDateFormat myDateFormat = new SimpleDateFormat( yyyy年MM月dd日 );

graphics D drawString(myDateFormat format(printDate) (float)x* (float) y + * height);

//绘制收据标题下面的第一条横线

graphics D drawLine(

(int) (y + * height+ )

(int) (y + * height+ )

);

//绘制收据标题下面的第二条横线

graphics D drawLine(

(int) (y + * height+ )

(int) (y + * height+ )

);

//正文 ——今收到

graphics D drawString(content (float) x* (float) y + * height);

//收费项目名称

graphics D drawString(this roomID+feeItem (float) x* (float) y + * height);

//绘制正文 下划线

graphics D drawLine(

(int)x*

(int) (y + * height+ )

(int)x+

(int) (y + * height+ )

);

//人民币(大写)

graphics D drawString(content +Money NumToRMBStr(rentTotal) (float) x* (float) y + * height);

//绘制人民币(大写)下划线

graphics D drawLine(

(int)x*

(int) (y + * height+ )

(int)x+

(int) (y + * height+ )

);

//(小写)

graphics D drawString( (小写) +rentTotal+ 元 (float) x* (float) y + * height);

//绘制(小写)下划线

graphics D drawLine(

(int)x*

(int) (y + * height+ )

(int)x+

(int) (y + * height+ )

);

//附注

graphics D drawString( 附注: +this remark (float) x* (float) y + * height);

//绘制附注下划线

graphics D drawLine(

(int)x* +

(int) (y + * height+ )

(int)x+

(int) (y + * height+ )

);

// 签字(收款人)

graphics D drawString( 签字(收款人) (float) x* + (float) y + * height);

//签字(收款人)下划线

graphics D drawLine(

(int)x*

(int) (y + * height+ )

(int)x+

(int) (y + * height+ )

);

return PAGE_EXISTS;

default:

RECEIPT_NO=RECEIPT_NO ;

return NO_SUCH_PAGE;

}

}

//方法调用

public  void printReceipt(PrintTest printTest){

//通俗理解就是书 文档

Book book = new Book();

//设置成竖打

PageFormat pf = new PageFormat();

pf setOrientation(PageFormat PORTRAIT);

//通过Paper设置页面的空白边距和可打印区域 必须与实际打印纸张大小相符

Paper p = new Paper();

p setSize( );//纸张大小

p setImageableArea( );//A ( X )设置打印区域 其实 应该是 因为A 纸的默认X Y边距是

pf setPaper(p);

//把 PageFormat 和 Printable 添加到书中 组成一个页面

book append(printTest pf);

//获取打印服务对象

PrinterJob job = PrinterJob getPrinterJob();

//设置打印类

job setPageable(book);

try

{

//可以用printDialog显示打印对话框 在用户确认后打印 也可以直接打印

//            boolean isShowing=job printDialog();

//            if(isShowing)

//            {

//              System out println(this printDate+ ************* );

RECEIPT_NO=RECEIPT_NO+ ;

job print();

//            }

}

catch (PrinterException e)

{

e printStackTrace();

}

}

public static void main(String[] args)

{

//    通俗理解就是书 文档

Book book = new Book();

//    设置成竖打

PageFormat pf = new PageFormat();

pf setOrientation(PageFormat PORTRAIT);

//    通过Paper设置页面的空白边距和可打印区域 必须与实际打印纸张大小相符

Paper p = new Paper();

p setSize( );//纸张大小

p setImageableArea( );//A ( X )设置打印区域 其实 应该是 因为A 纸的默认X Y边距是

pf setPaper(p);

//    把 PageFormat 和 Printable 添加到书中 组成一个页面

book append(new PrintTest() pf);

//获取打印服务对象

PrinterJob job = PrinterJob getPrinterJob();

// 设置打印类

job setPageable(book);

try

{

//可以用printDialog显示打印对话框 在用户确认后打印 也可以直接打印

//boolean a=job printDialog();

//if(a)

//{

job print();

//}

}

catch (PrinterException e)

{

e printStackTrace();

}

}

lishixinzhi/Article/program/Java/hx/201311/25778

java代码的打印信息控件怎么做?或者有现成的代码也行。

一: 首先理清业务逻辑

两个窗口, 第一个主窗口, 是用于填写信息的, 点击按钮后,跳转到第二个窗口,.

第二个对话框窗口 ,用于显示需要打印的信息, 以及打印到文档

二: 确定需要的技术, java图像界面主要使用awt和swing

swing里面的控件比较丰富, 且功能强大 .

三: 效果图片

四: 完整的参考代码

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import javax.swing.*;

//定义一个主窗口类

public class MainFrame extends JFrame {

public static final String FILE_PATH = "c:\\print.txt";//常量,用于指定信息的保存路径

//定义主要的组件

private final JTextField jtf1,jtf2,jtf3;

private final JCheckBox jcb1,jcb2,jcb3;

private final JRadioButton jrb1,jrb2;

public MainFrame() {

setTitle("信息提交窗口");//设置窗口标题

setSize(350, 320);//设置窗口大小

setLocationRelativeTo(null);//让窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE);//当主窗口关闭的时候退出jvm虚拟机

JPanel jp = new JPanel(new GridLayout(5, 1, 2, 1));//定义主显示面板,布局为表格布局5行1列,水平间距2,垂直间距1

JPanel jp1 = new JPanel();//第一行的组件面板

JLabel jl1 = new JLabel("姓名");

jtf1 = new JTextField(10);

jp1.add(jl1);

jp1.add(jtf1);

JPanel jp2 = new JPanel();//第二行的组件面板

JLabel jl2 = new JLabel("学号");

jtf2 = new JTextField(10);

jp2.add(jl2);

jp2.add(jtf2);

JPanel jp3 = new JPanel();//第三行的组件面板

JLabel jl3 = new JLabel("性别");

jrb1 = new JRadioButton("男");

jrb2 = new JRadioButton("女");

jrb1.setSelected(true);

ButtonGroup bgs = new ButtonGroup();

bgs.add(jrb1);

bgs.add(jrb2);

jp3.add(jl3);

jp3.add(jrb1);

jp3.add(jrb2);

JPanel jp4 = new JPanel();//第四行的组件面板

JLabel jl4 = new JLabel("选择爱好");

jcb1 = new JCheckBox("游泳");

jcb2 = new JCheckBox("篮球");

jcb3 = new JCheckBox("跑步");

jp4.add(jl4);

jp4.add(jcb1);

jp4.add(jcb2);

jp4.add(jcb3);

JPanel jp5 = new JPanel();//第五行的组件面板

JLabel jl5 = new JLabel("自我介绍");

jtf3 = new JTextField(22);

jp5.add(jl5);

jp5.add(jtf3);

//添加到主显示面板

jp.add(jp1);

jp.add(jp2);

jp.add(jp3);

jp.add(jp4);

jp.add(jp5);

jp.setBorder(BorderFactory.createTitledBorder("填写资料"));//设置主显示面板的边框

JButton jb = new JButton("跳转到打印页");

jb.addActionListener(new ActionListener() {//按钮事件

public void actionPerformed(ActionEvent e) {//获取组件的信息

StringBuilder sb = new StringBuilder();//用于连接信息

String name = jtf1.getText();

sb.append("姓名:" + name + "\r\n");

String num = jtf2.getText();

sb.append("学号:" + num + "\r\n");

String sex;

if (jrb1.isSelected()) {

sex = "男";

} else {

sex = "女";

}

sb.append("性别:" + sex + "\r\n");

String aihao = "";

if (jcb1.isSelected()) {

aihao += jcb1.getText();

}

if (jcb2.isSelected()) {

aihao += " " + jcb2.getText();

}

if (jcb3.isSelected()) {

aihao += " " + jcb3.getText();

}

sb.append("爱好:" + aihao + "\r\n");

String jieshao = jtf3.getText();

sb.append("自我介绍:" + jieshao + "\r\n");

new PrintDailog(sb.toString(), FILE_PATH).setVisible(true);//打开打印页面,并设置为可见

}

});

getContentPane().add(new JLabel("信息填写",JLabel.CENTER),BorderLayout.NORTH);

getContentPane().add(jp);

getContentPane().add(jb, BorderLayout.SOUTH);

}

public static void main(String[] args) {

new MainFrame().setVisible(true);

}

}

//定义一个对话框窗口类

class PrintDailog extends JDialog {

String info;//用于接受信息

String filePath;//文档的路径

private final JLabel jl2;

public PrintDailog(String info, final String filePath) {

this.info = info;

this.filePath = filePath;

setModal(true);//模态为真,如果不关闭这个对话框,那么无法点击其他窗口

setTitle("信息打印页");//设置打印窗口的标题

setSize(300, 320);//设置打印窗口的大小

setLocationRelativeTo(null);//设置打印窗口居中

setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);//当点击关闭按钮时,该窗口销毁

JLabel jl1 = new JLabel("信息打印显示", JLabel.CENTER);

JTextArea jta = new JTextArea(info);

jta.setEditable(false);//不可编辑

jta.setLineWrap(true);//自动换行

JScrollPane jsp = new JScrollPane(jta);

jsp.setBorder(BorderFactory.createTitledBorder("信息"));

JButton jb1 = new JButton("打印");

JPanel jp = new JPanel(new GridLayout(2, 1));

JPanel jp1 = new JPanel();

jp1.add(jb1);

JPanel jp2 = new JPanel();

jl2 = new JLabel();

jp2.add(jl2);

jp.add(jp1);

jp.add(jp2);

add(jl1, BorderLayout.NORTH);

add(jsp);

add(jp, BorderLayout.SOUTH);

jb1.addActionListener(new ActionListener() {//点击打印的按钮的事件

public void actionPerformed(ActionEvent e) {

saveToFile();//信息打印到了文档

jl2.setText("信息已经打印到" + filePath);//显示出来

jl2.setForeground(Color.RED);//为了醒目设置颜色为红色

}

});

}

private void saveToFile() {//该方法用于保存信息到文档

try {

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath), "UTF-8"));

bw.write(info);

bw.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

五: 拓展

java 制作图像界面比较简单,  只需要熟练的掌握三大布局(流布局 表格布局 边界布局)和常用组件  , 就能制作出比较复杂的界面 .  所以理清业务逻辑,  才是重点

如何通过JAVA代码调用网络打印机使其打印接收到的文件

用java实现本地打印:java.awt中提供了一些打印的API,要实现打印,首先要获得打印对象,然后继承Printable实现接口方法print,以便打印机进行打印,最后用用Graphics2D直接输出直接输出。下面代码实现了简单的打印功能:

jsp页面如何用代码(java语言)实现打印功能?

如一楼所说,你的jsp源文件的java代码是在服务器上执行的,客户端接收到的只有html

用JavaScript打印吧

input

id="btnPrint"

type="button"

value="打印"

onclick="javascript:window.print();"

/

可以用样式控制,你想让那块打印就打印啊,样式如下:

style

type="text/css"

media=print

.noprint{display

:

none

}

/style

然后使用样式就可以:

p

class="noprint"不需要打印的地方/p


网站栏目:java代码打印信息吗 java打印的代码
转载注明:http://ybzwz.com/article/ddjcogp.html