java结账_如何用java实现,1.白色的结账单,2.如何把结账单打印出来,如何写?...

publicclassPrintPreviewDialogextendsJDialogimplementsActionListener{    /**    *    */    privatestaticfinallongserialVersionUID=-7320342468005550954L;    privateJButtonnextButton=newJButton("Next");    privateJButtonpreviousButton=newJButton("Previous");    privateJButtoncloseButton=newJButton("Close");    privateJPanelbuttonPanel=newJPanel();    privatePreviewCanvascanvas;    publicPrintPreviewDialog(Frameparent,Stringtitle,booleanmodal,            PrintTestpt,Stringstr){        super(parent,title,modal);        canvas=newPreviewCanvas(pt,str);        setLayout();    }    privatevoidsetLayout(){        this.getContentPane().setLayout(newBorderLayout());        this.getContentPane().add(canvas,BorderLayout.CENTER);        nextButton.setMnemonic('N');        nextButton.addActionListener(this);        buttonPanel.add(nextButton);        previousButton.setMnemonic('N');        previousButton.addActionListener(this);        buttonPanel.add(previousButton);        closeButton.setMnemonic('N');        closeButton.addActionListener(this);        buttonPanel.add(closeButton);        this.getContentPane().add(buttonPanel,BorderLayout.SOUTH);        this.setBounds((int)((SystemProperties.SCREEN_WIDTH-400)/2),                (int)((SystemProperties.SCREEN_HEIGHT-400)/2),400,400);    }    publicvoidactionPerformed(ActionEventevt){        Objectsrc=evt.getSource();        if(src==nextButton)            nextAction();        elseif(src==previousButton)            previousAction();        elseif(src==closeButton)            closeAction();    }    privatevoidcloseAction(){        this.setVisible(false);        this.dispose();    }    privatevoidnextAction(){        canvas.viewPage(1);    }    privatevoidpreviousAction(){        canvas.viewPage(-1);    }    classPreviewCanvasextendsJPanel{        privateStringprintStr;        privateintcurrentPage=0;        privatePrintTestpreview;        publicPreviewCanvas(PrintTestpt,Stringstr){            printStr=str;            preview=pt;        }        publicvoidpaintComponent(Graphicsg){            super.paintComponent(g);            Graphics2Dg2=(Graphics2D)g;            PageFormatpf=PrinterJob.getPrinterJob().defaultPage();            doublexoff;            doubleyoff;            doublescale;            doublepx=pf.getWidth();            doublepy=pf.getHeight();            doublesx=getWidth()-1;            doublesy=getHeight()-1;            if(px/py

?publicclassPrintTestextendsJFrameimplementsActionListener,Printable{    /**    *    */    privatestaticfinallongserialVersionUID=-1898922341899485331L;    privateJButtonprintTextButton=newJButton("PrintText");    privateJButtonpreviewButton=newJButton("PrintPreview");    privateJButtonprintText2Button=newJButton("PrintText2");    privateJButtonprintFileButton=newJButton("PrintFile");    privateJButtonprintFrameButton=newJButton("PrintFrame");    privateJButtonexitButton=newJButton("Exit");    privateJLabeltipLabel=newJLabel("");    privateJTextAreaarea=newJTextArea();    privateJScrollPanescroll=newJScrollPane(area);    privateJPanelbuttonPanel=newJPanel();    privateintPAGES=0;    privateStringprintStr;    publicPrintTest(){        this.setTitle("PrintTest");        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        this.setBounds((int)((SystemProperties.SCREEN_WIDTH-800)/2),                (int)((SystemProperties.SCREEN_HEIGHT-600)/2),800,600);        initLayout();    }    privatevoidinitLayout(){        this.getContentPane().setLayout(newBorderLayout());        this.getContentPane().add(scroll,BorderLayout.CENTER);        printTextButton.setMnemonic('P');        printTextButton.addActionListener(this);        buttonPanel.add(printTextButton);        previewButton.setMnemonic('v');        previewButton.addActionListener(this);        buttonPanel.add(previewButton);        printText2Button.setMnemonic('e');        printText2Button.addActionListener(this);        buttonPanel.add(printText2Button);        printFileButton.setMnemonic('i');        printFileButton.addActionListener(this);        buttonPanel.add(printFileButton);        printFrameButton.setMnemonic('F');        printFrameButton.addActionListener(this);        buttonPanel.add(printFrameButton);        exitButton.setMnemonic('x');        exitButton.addActionListener(this);        buttonPanel.add(exitButton);        this.getContentPane().add(buttonPanel,BorderLayout.SOUTH);    }    publicvoidactionPerformed(ActionEventevt){        Objectsrc=evt.getSource();        if(src==printTextButton){            printTextAction();        }elseif(src==previewButton){            previewAction();        }elseif(src==printText2Button){            printText2Action();        }elseif(src==printFileButton){            printFileAction();        }elseif(src==printFrameButton){            printFrameAction();        }elseif(src==exitButton){            exitApp();        }    }    publicintprint(Graphicsg,PageFormatpf,intpage)            throwsPrinterException{        Graphics2Dg2=(Graphics2D)g;        g2.setPaint(Color.black);        if(page>=PAGES){            returnPrintable.NO_SUCH_PAGE;        }        g2.translate(pf.getImageableX(),pf.getImageableY());        drawCurrentPageText(g2,pf,page);        returnPrintable.PAGE_EXISTS;    }    privatevoiddrawCurrentPageText(Graphics2Dg2,PageFormatpf,intpage){        Fontf=area.getFont();        Strings=getDrawText(printStr)[page];        StringdrawText;        floatascent=16;        intk,i=f.getSize(),lines=0;        while(s.length()>0&&lines<54){            k=s.indexOf('\n');            if(k!=-1){                lines+=1;                drawText=s.substring(0,k);                g2.drawString(drawText,0,ascent);                if(s.substring(k+1).length()>0){                    s=s.substring(k+1);                    ascent+=i;                }            }else{                lines+=1;                drawText=s;                g2.drawString(drawText,0,ascent);                s="";            }        }    }    publicString[]getDrawText(Strings){        String[]drawText=newString[PAGES];        for(inti=0;i0){            if(lines<54){                k=s.indexOf('\n');                if(k!=-1){                    lines+=1;                    drawText[suffix]=drawText[suffix]+s.substring(0,k+1);                    if(s.substring(k+1).length()>0){                        s=s.substring(k+1);                    }                }else{                    lines+=1;                    drawText[suffix]=drawText[suffix]+s;                    s="";                }            }else{                lines=0;                suffix++;            }        }        returndrawText;    }    publicintgetPagesCount(StringcurStr){        intpage=0;        intposition,count=0;        Stringstr=curStr;        while(str.length()>0){            position=str.indexOf('\n');            count+=1;            if(position!=-1){                str=str.substring(position+1);            }else{                str="";            }        }        if(count>0){            page=count/54+1;        }        returnpage;    }    privatevoidprintTextAction(){        printStr=area.getText().trim();        if(printStr!=null&&printStr.length()>0){            PAGES=getPagesCount(printStr);            PrinterJobmyPrtJob=PrinterJob.getPrinterJob();            PageFormatpageFormat=myPrtJob.defaultPage();            myPrtJob.setPrintable(this,pageFormat);            if(myPrtJob.printDialog()){                try{                    myPrtJob.print();                }catch(PrinterExceptionpe){                    pe.printStackTrace();                }            }        }else{            JOptionPane.showConfirmDialog(null,                    "Sorry,PrinterJobisEmpty,PrintCancelled!","Empty",                    JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE);        }    }    privatevoidpreviewAction(){        printStr=area.getText().trim();        PAGES=getPagesCount(printStr);        newPrintPreviewDialog(this,"PrintPreview",true,this,printStr)                .setVisible(true);    }    privatevoidprintText2Action(){        printStr=area.getText().trim();        if(printStr!=null&&printStr.length()>0){            PAGES=getPagesCount(printStr);            DocFlavorflavor=DocFlavor.SERVICE_FORMATTED.PRINTABLE;            PrintServiceprintService=PrintServiceLookup                    .lookupDefaultPrintService();            DocPrintJobjob=printService.createPrintJob();            PrintRequestAttributeSetpras=newHashPrintRequestAttributeSet();            DocAttributeSetdas=newHashDocAttributeSet();            Docdoc=newSimpleDoc(this,flavor,das);            try{                job.print(doc,pras);            }catch(PrintExceptionpe){                pe.printStackTrace();            }        }else{            JOptionPane.showConfirmDialog(null,                    "Sorry,PrinterJobisEmpty,PrintCancelled!","Empty",                    JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE);        }    }    privatevoidprintFileAction(){        JFileChooserfileChooser=newJFileChooser(SystemProperties.USER_DIR);        //fileChooser.setFileFilter(newcom.szallcom.file.JavaFilter());        intstate=fileChooser.showOpenDialog(this);        if(state==JFileChooser.APPROVE_OPTION){            Filefile=fileChooser.getSelectedFile();            PrintRequestAttributeSetpras=newHashPrintRequestAttributeSet();            DocFlavorflavor=DocFlavor.INPUT_STREAM.AUTOSENSE;            PrintServiceprintService[]=PrintServiceLookup                    .lookupPrintServices(flavor,pras);            PrintServicedefaultService=PrintServiceLookup                    .lookupDefaultPrintService();            PrintServiceservice=ServiceUI.printDialog(null,200,200,                    printService,defaultService,flavor,pras);            if(service!=null){                try{                    DocPrintJobjob=service.createPrintJob();                    FileInputStreamfis=newFileInputStream(file);                    DocAttributeSetdas=newHashDocAttributeSet();                    Docdoc=newSimpleDoc(fis,flavor,das);                    job.print(doc,pras);                }catch(Exceptione){                    e.printStackTrace();                }            }        }    }    privatevoidprintFrameAction(){        Toolkitkit=Toolkit.getDefaultToolkit();        Propertiesprops=newProperties();        props.put("awt.print.printer","durango");        props.put("awt.print.numCopies","2");        if(kit!=null){            PrintJobprintJob=kit.getPrintJob(this,"PrintFrame",props);            if(printJob!=null){                Graphicspg=printJob.getGraphics();                if(pg!=null){                    try{                        this.printAll(pg);                    }finally{                        pg.dispose();                    }                }                printJob.end();            }        }    }    privatevoidexitApp(){        this.setVisible(false);        this.dispose();        System.exit(0);    }    publicstaticvoidmain(String[]args){        newPrintTest().setVisible(true);    }}?publicfinalclassSystemProperties{    publicstaticfinaldoubleSCREEN_WIDTH=Toolkit.getDefaultToolkit()            .getScreenSize().getWidth();    publicstaticfinaldoubleSCREEN_HEIGHT=Toolkit.getDefaultToolkit()            .getScreenSize().getHeight();    publicstaticfinalStringUSER_DIR=System.getProperty("user.dir");    publicstaticfinalStringUSER_HOME=System.getProperty("user.home");    publicstaticfinalStringUSER_NAME=System.getProperty("user.name");    publicstaticfinalStringFILE_SEPARATOR=System            .getProperty("file.separator");    publicstaticfinalStringLINE_SEPARATOR=System            .getProperty("line.separator");    publicstaticfinalStringPATH_SEPARATOR=System            .getProperty("path.separator");    publicstaticfinalStringJAVA_HOME=System.getProperty("java.home");    publicstaticfinalStringJAVA_VENDOR=System.getProperty("java.vendor");    publicstaticfinalStringJAVA_VENDOR_URL=System            .getProperty("java.vendor.url");    publicstaticfinalStringJAVA_VERSION=System            .getProperty("java.version");    publicstaticfinalStringJAVA_CLASS_PATH=System            .getProperty("java.class.path");    publicstaticfinalStringJAVA_CLASS_VERSION=System            .getProperty("java.class.version");    publicstaticfinalStringOS_NAME=System.getProperty("os.name");    publicstaticfinalStringOS_ARCH=System.getProperty("os.arch");    publicstaticfinalStringOS_VERSION=System.getProperty("os.version");    publicstaticfinalString[]FONT_NAME_LIST=GraphicsEnvironment            .getLocalGraphicsEnvironment().getAvailableFontFamilyNames();    publicstaticfinalFont[]FONT_LIST=GraphicsEnvironment            .getLocalGraphicsEnvironment().getAllFonts();}?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值