亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? printtest.java

?? JAVA 1.4版本打印控制,可以預(yù)覽.
?? JAVA
字號(hào):
//package com.szallcom.tools;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Properties;
import java.awt.font.FontRenderContext;
import java.awt.print.*;
//import wf.common.SystemProperties;
import javax.print.*;
import javax.print.attribute.*;
import java.io.*;

public class PrintTest extends JFrame
implements ActionListener, Printable
{
	private JButton printTextButton = new JButton("Print Text");
    private JButton previewButton = new JButton("Print Preview");
	private JButton printText2Button = new JButton("Print Text2");
	private JButton printFileButton = new JButton("Print File");
    private JButton printFrameButton = new JButton("Print Frame");
    private JButton exitButton = new JButton("Exit");
    private JLabel tipLabel = new JLabel("");
    private JTextArea area = new JTextArea();
    private JScrollPane scroll = new JScrollPane(area);
    private JPanel buttonPanel = new JPanel();

    private int PAGES = 0;
    private String printStr;

    public PrintTest()
    {
        this.setTitle("Print Test");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setBounds((int)((SystemProperties.SCREEN_WIDTH - 800) / 2), (int)((SystemProperties.SCREEN_HEIGHT - 600) / 2), 800, 600);
        initLayout();
    }

    private void initLayout()
    {
        this.getContentPane().setLayout(new BorderLayout());
        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);
    }

    public void actionPerformed(ActionEvent evt)
    {
        Object src = evt.getSource();
        if (src == printTextButton)
            printTextAction();
        else if (src == previewButton)
            previewAction();
        else if (src == printText2Button)
            printText2Action();
        else if (src == printFileButton)
            printFileAction();
        else if (src == printFrameButton)
            printFrameAction();
        else if (src == exitButton)
            exitApp();
    }

    public int print(Graphics g, PageFormat pf, int page) throws PrinterException
	{
        Graphics2D g2 = (Graphics2D)g;
        g2.setPaint(Color.black);
	    if (page >= PAGES)
	        return Printable.NO_SUCH_PAGE;
        g2.translate(pf.getImageableX(), pf.getImageableY());
        drawCurrentPageText(g2, pf, page);
        return Printable.PAGE_EXISTS;
	}

    private void drawCurrentPageText(Graphics2D g2, PageFormat pf, int page)
	{
        Font f = area.getFont();
        String s = getDrawText(printStr)[page];
        String drawText;
        float ascent = 16;
        int k, 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 = "";
            }
        }
	}

    public String[] getDrawText(String s)
    {
        String[] drawText = new String[PAGES];
        for (int i = 0; i < PAGES; i++)
            drawText[i] = "";

        int k, suffix = 0, lines = 0;
        while(s.length() > 0)
        {
            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++;
            }
        }
        return drawText;
    }

    public int getPagesCount(String curStr)
	{
        int page = 0;
        int position, count = 0;
        String str = 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;

        return page;
	}

    private void printTextAction()
    {
        printStr = area.getText().trim();
        if (printStr != null && printStr.length() > 0)
        {
            PAGES = getPagesCount(printStr);
            PrinterJob myPrtJob = PrinterJob.getPrinterJob();
            PageFormat pageFormat = myPrtJob.defaultPage();
            myPrtJob.setPrintable(this, pageFormat);
            if (myPrtJob.printDialog())
            {
                try
                {
                    myPrtJob.print();
                }
                catch(PrinterException pe)
                {
                    pe.printStackTrace();
                }
            }
        }
        else
        {
            JOptionPane.showConfirmDialog(null, "Sorry, Printer Job is Empty, Print Cancelled!", "Empty"
                                        , JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE);
        }
    }

    private void previewAction()
    {
        printStr = area.getText().trim();
        PAGES = getPagesCount(printStr);
//        (new PrintPreviewDialog(this, "Print Preview", true, this, printStr)).setVisible(true);
    }

    private void printText2Action()
    {
        printStr = area.getText().trim();
        if (printStr != null && printStr.length() > 0)
        {
            PAGES = getPagesCount(printStr);
            DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
            PrintService printService = PrintServiceLookup.lookupDefaultPrintService();
            DocPrintJob job = printService.createPrintJob();
            PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
            DocAttributeSet das = new HashDocAttributeSet();
            Doc doc = new SimpleDoc(this, flavor, das);

            try
            {
                job.print(doc, pras);
            }
            catch(PrintException pe)
            {
                pe.printStackTrace();
            }
        }
        else
        {
            JOptionPane.showConfirmDialog(null, "Sorry, Printer Job is Empty, Print Cancelled!", "Empty"
                                        , JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE);
        }
    }

    private void printFileAction()
    {
        JFileChooser fileChooser = new JFileChooser(SystemProperties.USER_DIR);
//        fileChooser.setFileFilter(new com.szallcom.file.JavaFilter());
        int state = fileChooser.showOpenDialog(this);
        if (state == fileChooser.APPROVE_OPTION)
        {
            File file = fileChooser.getSelectedFile();
            PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
            DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
            PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);
            PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
            PrintService service = ServiceUI.printDialog(null, 200, 200, printService
                                                        , defaultService, flavor, pras);
            if (service != null)
            {
                try
                {
                    DocPrintJob job = service.createPrintJob();
                    FileInputStream fis = new FileInputStream(file);
                    DocAttributeSet das = new HashDocAttributeSet();
                    Doc doc = new SimpleDoc(fis, flavor, das);
                    job.print(doc, pras);
                }
                catch(Exception e)
                {
                    e.printStackTrace();
                }
            }
        }
    }

    private void printFrameAction()
    {
        Toolkit kit = Toolkit.getDefaultToolkit();
        Properties props = new Properties();
        props.put("awt.print.printer", "durango");
        props.put("awt.print.numCopies", "2");
        if(kit != null)
        {
            PrintJob printJob = kit.getPrintJob(this, "Print Frame", props);
            if(printJob != null)
            {
                Graphics pg = printJob.getGraphics();
                if(pg != null)
                {
					try
					{
                        this.printAll(pg);
                    }
                    finally
                    {
                        pg.dispose();
                    }
                }
                printJob.end();
            }
        }
    }

    private void exitApp()
    {
        this.setVisible(false);
        this.dispose();
        System.exit(0);
    }

    public static void main(String[] args)
    {
        (new PrintTest()).setVisible(true);
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人网男人的天堂| 成人app在线观看| 亚洲一区二区在线观看视频| 中文字幕一区二区三区四区| 国产日本欧美一区二区| 国产亚洲欧洲997久久综合 | 国产精品国产自产拍高清av王其| 久久众筹精品私拍模特| 久久久久青草大香线综合精品| 精品国产三级电影在线观看| 国产亚洲精品资源在线26u| 久久久久久久综合日本| 中文字幕视频一区| 亚洲精品高清视频在线观看| 亚洲第一主播视频| 免费观看成人鲁鲁鲁鲁鲁视频| 肉色丝袜一区二区| 国产一区二三区好的| www.亚洲激情.com| 欧美午夜不卡在线观看免费| 欧美巨大另类极品videosbest| 一本久道久久综合中文字幕| 在线免费不卡电影| 精品久久久久久久人人人人传媒| 国产日韩欧美a| 亚洲一区免费视频| 激情五月激情综合网| 9i看片成人免费高清| 欧美三级日韩在线| 久久精品在线观看| 亚洲男同性视频| 日韩国产精品久久久久久亚洲| 韩国v欧美v日本v亚洲v| 91丨九色丨蝌蚪丨老版| 欧美一区日韩一区| 亚洲区小说区图片区qvod| 午夜精品久久久久久久99樱桃| 激情图区综合网| 色噜噜狠狠一区二区三区果冻| 日韩精品一区二区三区中文不卡 | 国产在线精品免费| 97精品超碰一区二区三区| 7777精品伊人久久久大香线蕉超级流畅| 精品国产伦一区二区三区免费| 亚洲日本丝袜连裤袜办公室| 美脚の诱脚舐め脚责91| 91亚洲资源网| 久久久久久一级片| 青娱乐精品在线视频| 91一区在线观看| 久久久久久久网| 石原莉奈在线亚洲二区| 91丨国产丨九色丨pron| 久久美女艺术照精彩视频福利播放 | 日韩国产欧美一区二区三区| 99久久精品一区二区| 久久综合九色综合97_久久久| 亚洲777理论| 欧洲国产伦久久久久久久| 国产精品视频看| 国产在线观看一区二区| 日韩一区二区三区三四区视频在线观看 | 国产日韩欧美在线一区| 日本美女一区二区| 欧美日本不卡视频| 一区二区三区视频在线观看| 国产成a人亚洲精品| 久久久美女毛片| 久久精品国产一区二区三区免费看| 欧美三级视频在线观看| 亚洲精品免费在线观看| 91国偷自产一区二区三区观看 | 成人黄页在线观看| 欧美大尺度电影在线| 免播放器亚洲一区| 91精品国产全国免费观看| 日韩av在线播放中文字幕| 欧美男生操女生| 日韩不卡一区二区三区 | 国产精品一二三区在线| 久久综合色之久久综合| 国产在线日韩欧美| 国产婷婷一区二区| 91一区二区在线| 亚洲一区在线免费观看| 欧美久久久一区| 秋霞午夜鲁丝一区二区老狼| 欧美大片一区二区| 国产白丝网站精品污在线入口| 国产亚洲欧美激情| 91麻豆精品视频| 亚洲国产你懂的| 欧美一级精品在线| 国产自产视频一区二区三区| 国产免费成人在线视频| 91亚洲精华国产精华精华液| 亚洲一二三四区| 日韩欧美黄色影院| 国产精品亚洲一区二区三区在线| 精品卡一卡二卡三卡四在线| 亚洲一区二区精品久久av| 欧美日韩国产片| 日韩精品亚洲一区| 精品少妇一区二区三区在线视频| 美女视频黄久久| 久久久精品国产免大香伊| 成人午夜看片网址| 亚洲人成在线播放网站岛国| 欧美在线观看禁18| 奇米色777欧美一区二区| 欧美欧美午夜aⅴ在线观看| 国产精品1区2区| 中文字幕一区二区三区在线播放| 色偷偷久久人人79超碰人人澡| 洋洋成人永久网站入口| 欧美人xxxx| 韩国v欧美v亚洲v日本v| 亚洲午夜三级在线| 欧美mv和日韩mv国产网站| 99久久99久久精品免费观看| 亚洲国产精品一区二区久久| 日韩视频免费观看高清完整版| 国内成+人亚洲+欧美+综合在线| 国产午夜亚洲精品理论片色戒 | 亚洲人成人一区二区在线观看 | 亚洲永久免费视频| 欧美国产精品久久| 欧美日韩在线直播| 精品在线你懂的| 夜夜嗨av一区二区三区中文字幕| 欧美一区二区不卡视频| 色www精品视频在线观看| 久久精品国产精品亚洲红杏| 亚洲欧洲另类国产综合| 欧美一级在线免费| 成人高清免费观看| 三级亚洲高清视频| 亚洲国产综合人成综合网站| 久久日韩精品一区二区五区| 在线日韩一区二区| 成人综合激情网| 激情五月播播久久久精品| 天天操天天干天天综合网| 亚洲国产激情av| 日韩欧美国产一区二区在线播放| av电影在线观看一区| 国产69精品一区二区亚洲孕妇| 亚洲国产日韩综合久久精品| 欧美激情资源网| 日韩一区二区三区观看| 欧美日韩美女一区二区| 91国产福利在线| av不卡免费在线观看| 国产一区二区三区综合| 日韩国产一二三区| 亚洲成人av电影在线| 一区二区三区中文字幕精品精品 | 精品999久久久| 欧美日韩一级二级三级| 欧美人xxxx| 精品视频1区2区| 欧美欧美午夜aⅴ在线观看| 欧美综合视频在线观看| 99精品欧美一区二区三区小说 | 国产一区二区在线电影| 视频一区二区中文字幕| 亚洲男人的天堂在线观看| 国产精品乱码一区二区三区软件| 精品国产免费人成在线观看| 欧美成人一区二区| 欧美mv日韩mv亚洲| ...xxx性欧美| 亚洲裸体在线观看| 亚洲精品水蜜桃| 亚洲综合视频在线观看| 国产欧美1区2区3区| 亚洲免费观看高清完整版在线| 国产精品伦理在线| 亚洲日本欧美天堂| 亚洲一区二区三区小说| 天堂av在线一区| 另类的小说在线视频另类成人小视频在线| 亚洲va欧美va国产va天堂影院| 视频一区免费在线观看| 久久不见久久见免费视频1| 国产成人亚洲综合a∨婷婷| 91福利小视频| 日韩一区二区麻豆国产| 精品福利在线导航| 中文字幕一区二区三区av| 中文字幕中文在线不卡住| 丝袜美腿亚洲综合| 国产精品一区二区在线观看不卡| 成人自拍视频在线| 日本高清不卡一区| 色妹子一区二区| 国产欧美综合在线观看第十页| 亚洲免费伊人电影| 美脚の诱脚舐め脚责91| 色综合久久综合网欧美综合网|