⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 printdemo.java

📁 OpenSwing的经典示例
💻 JAVA
字号:
package com.sunking.swing.print;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.print.*;

import com.sunking.swing.print.content.*;
//import javax.swing.text.*;

public class PrintDemo
    extends JFrame
    implements BookOfPrint {
    JMenuBar jMenuBar1 = new JMenuBar();
    JToolBar jToolBar1 = new JToolBar();
    JMenu jMenu1 = new JMenu("File");
    PrintAction pa = new PrintAction(this);
    JTextArea txt = new JTextArea("Print Demo");
    JLabel lbV = new JLabel();

    public Book makeBook(boolean isPreview, PageFormat pageFormat) {
        PrintContent content = new PrintContent();
        String lines[] = txt.getText().split("\n");
        for(int i = 0; i < lines.length; i ++){
                content.println(new PrintString(lines[i]));
        }
        DrawOut printable = new DrawOut(content, isPreview);

        Component c = lbV;
        Graphics2D g2 = (Graphics2D) (c.getGraphics());
        Book book = new Book();
        book.append(printable, pageFormat,
                    printable.getPageCount(g2, pageFormat));
        c.repaint();
        return book;
    }


    public PrintDemo() {
        try {
            jbInit();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        this.setJMenuBar(jMenuBar1);
        lbV.setText("");
        this.getContentPane().add(jToolBar1, BorderLayout.NORTH);
        jMenuBar1.add(jMenu1);
        jMenu1.add(pa.getAction(PrintAction.PAGESET_ACTION));
        jMenu1.add(pa);
        jMenu1.add(pa.getAction(PrintAction.PRINT_ACTION));
        jMenu1.addSeparator();
        jMenu1.add(new ExitAction());
        jToolBar1.add(pa);
        jToolBar1.add(pa.getAction(PrintAction.PRINT_ACTION));
        jToolBar1.add(lbV, null);
        setJMenuBar(jMenuBar1);
        getContentPane().add(new JScrollPane(txt), BorderLayout.CENTER);
    }

    class ExitAction
        extends AbstractAction {
        public ExitAction() {
            super.putValue(Action.NAME, "Exit");
        }

        public void actionPerformed(ActionEvent e) {
            System.exit(0);
        }
    }

    public static void main(String[] args) {
//        try {
//            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
//        }
//        catch (Exception e) {
//        }
         JFrame frame = new PrintDemo();
//        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setTitle("Print Demo");
        frame.setSize(400, 320);
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        frame.setLocation( (d.width - frame.getSize().width) / 2,
                          (d.height - frame.getSize().height) / 2);
        frame.setVisible(true);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -