import java.awt.*;
import java.awt.event.*;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.io.*;
import java.util.*;
import javax.print.*;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.swing.*;public class Menu extends JFrame
{
private static final int DEFAULT_WIDTH = 485;
private static final int DEFAULT_HEIGHT = 683;
private String fileName;
Printable canvas = new PrintTS();
PrinterJob job = PrinterJob.getPrinterJob();
HashPrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
private TextArea testArea = new TextArea();
private JMenuBar menuBar = new JMenuBar();
private JMenuItem openItem = new JMenuItem("Open");
private JMenuItem printItem = new JMenuItem("Print");
private PrintService currentService; public Menu()
{
setTitle("PrintTest");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
setLayout(null);
setResizable(false);
testArea.setBounds(0, 50, 480, 578);
testArea.setEditable(true);
add(testArea);
setJMenuBar(menuBar);
JMenu menu = new JMenu("File");
menuBar.add(menu);
menu.add(printItem);
printItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
job.setPrintable(canvas);
printFile();
}
});
}
public void printFile()
{
if(job.printDialog(attributes))
{
try
{
job.print();
}
catch(PrinterException e)
{
}
}
}
}import java.awt.Graphics;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;public class PrintTS implements Printable
{ public int print(Graphics arg0, PageFormat arg1, int arg2) throws PrinterException
{
return 0;
}}
import javax.swing.JFrame;public class Main { public static void main(String[] args)
{
JFrame frame = new Menu();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
各位帮忙看看哪里的问题~我就在TextArea里打了3个字母进去居然要打21817张~!(图片暂时传不上来)而且打印机只走纸~什么夜没打~什么状况啊~?!
import java.awt.event.*;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.io.*;
import java.util.*;
import javax.print.*;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.swing.*;public class Menu extends JFrame
{
private static final int DEFAULT_WIDTH = 485;
private static final int DEFAULT_HEIGHT = 683;
private String fileName;
Printable canvas = new PrintTS();
PrinterJob job = PrinterJob.getPrinterJob();
HashPrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
private TextArea testArea = new TextArea();
private JMenuBar menuBar = new JMenuBar();
private JMenuItem openItem = new JMenuItem("Open");
private JMenuItem printItem = new JMenuItem("Print");
private PrintService currentService; public Menu()
{
setTitle("PrintTest");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
setLayout(null);
setResizable(false);
testArea.setBounds(0, 50, 480, 578);
testArea.setEditable(true);
add(testArea);
setJMenuBar(menuBar);
JMenu menu = new JMenu("File");
menuBar.add(menu);
menu.add(printItem);
printItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
job.setPrintable(canvas);
printFile();
}
});
}
public void printFile()
{
if(job.printDialog(attributes))
{
try
{
job.print();
}
catch(PrinterException e)
{
}
}
}
}import java.awt.Graphics;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;public class PrintTS implements Printable
{ public int print(Graphics arg0, PageFormat arg1, int arg2) throws PrinterException
{
return 0;
}}
import javax.swing.JFrame;public class Main { public static void main(String[] args)
{
JFrame frame = new Menu();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
各位帮忙看看哪里的问题~我就在TextArea里打了3个字母进去居然要打21817张~!(图片暂时传不上来)而且打印机只走纸~什么夜没打~什么状况啊~?!
{
setTitle("PrintTest");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
setLayout(null);
setResizable(false);
testArea.setBounds(0, 50, 480, 578);
testArea.setEditable(true);
add(testArea);
setJMenuBar(menuBar);
JMenu menu = new JMenu("File");
menuBar.add(menu);
menu.add(printItem);
printItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
job.setPrintable(canvas);
printFile();
}
}); setSize(500, 600);//具体大小 我不清楚
setVisible(true);//
}
Printable canvas = new PrintTS();
public class PrintTS implements Printable
{ public int print(Graphics arg0, PageFormat arg1, int arg2) throws PrinterException
{
return 0;
}
}