<i id='jcp8o6uh'><tr id='658mltqp'><dt id='ytdpcgtd'><q id='bpfelt7k'><span id='fbi0u4mp'><b id='vlj2qeew'><form id='nyuyhyuh'><ins id='8sexpjit'></ins><ul id='tra762z3'></ul><sub id='9bpova6g'></sub></form><legend id='j1d41jjz'></legend><bdo id='fhnxek9y'><pre id='y0xhkzzo'><center id='bgu0pmue'></center></pre></bdo></b><th id='5jakgkge'></th></span></q></dt></tr></i><div id='5mk4myp7'><tfoot id='rr0it5wz'></tfoot><dl id='294b26k3'><fieldset id='p7uysd4v'></fieldset></dl></div>
    <bdo id='ja0a2cfj'></bdo><ul id='ztcasx8g'></ul>
  • <legend id='8sqfrxr4'><style id='nfzzacp1'><dir id='e9c8dky4'><q id='5k68iu4v'></q></dir></style></legend>

    <tfoot id='mljz01hd'></tfoot>

    <small id='xrirw2fr'></small><noframes id='v8bp55az'>

      1. 欢迎来到入门教程网!

        Java编程

        当前位置:主页 > 软件编程 > Java编程 >

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

        来源:本站原创|时间:2023-04-10|栏目:Java编程|点击:

        用Java代码生成打印收据

        首先 来看看效果 如下图

        代码如下

        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

          <small id='iom2tkwu'></small><noframes id='hpsx452x'>

          <tfoot id='npeofh13'></tfoot>
            <bdo id='d0j9dw3n'></bdo><ul id='88ebgrfa'></ul>
              <i id='ukki2kbn'><tr id='q8ewyswq'><dt id='nswgawtl'><q id='n5puc7t5'><span id='wrdzbobi'><b id='g91ssou7'><form id='ilt3y0dg'><ins id='ralahago'></ins><ul id='oirc22yp'></ul><sub id='zyt16mqj'></sub></form><legend id='7pt3fh4y'></legend><bdo id='nh70jkso'><pre id='j1nehk3w'><center id='nnwi216b'></center></pre></bdo></b><th id='5ye8jbgh'></th></span></q></dt></tr></i><div id='bxaowc3u'><tfoot id='dynib70a'></tfoot><dl id='m5gr19jx'><fieldset id='d7u5b9se'></fieldset></dl></div>
                <tbody id='17krwqzt'></tbody>
                1. <legend id='54nwjr8y'><style id='ixc313cg'><dir id='n2ow6fvo'><q id='nkzemfkn'></q></dir></style></legend>

                  上一篇:家电控制系统JAVA代码 家电智能化控制系统

                  栏    目:Java编程

                  下一篇:没有了

                  本文标题:java代码打印信息吗 java打印的代码

                  本文地址:https://www.xiuzhanwang.com/a1/Javabiancheng/17357.html

                  网页制作CMS教程网络编程软件编程脚本语言数据库服务器

                  如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

                  联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

                  Copyright © 2002-2020 脚本教程网 版权所有

                  <legend id='vsgniwwj'><style id='mnkuqmcp'><dir id='nueypbnd'><q id='62nx2txa'></q></dir></style></legend>
                2. <small id='5q27zm65'></small><noframes id='y5w4bxwg'>

                  <i id='g4fzp4xq'><tr id='ftc5bhi3'><dt id='fwh9o1nb'><q id='h4ehwn0t'><span id='3mbqrv0q'><b id='bfgjz9gb'><form id='tnn2a0bw'><ins id='mn0pvbay'></ins><ul id='gt3k4lra'></ul><sub id='7cp2xqob'></sub></form><legend id='knjld3pr'></legend><bdo id='56e7sk6w'><pre id='shocitu7'><center id='v5562apb'></center></pre></bdo></b><th id='y9ihgk4w'></th></span></q></dt></tr></i><div id='qf6r5i3t'><tfoot id='gjpki2uy'></tfoot><dl id='t7i39vft'><fieldset id='vtrwhr3k'></fieldset></dl></div>

                    <bdo id='agcx25ej'></bdo><ul id='yqge7ltj'></ul>

                  1. <tfoot id='5seflwn1'></tfoot>