请运行如下代码!
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.event.*;import java.io.*;import java.awt.Dimension;
import java.awt.event.*;import java.awt.print.*;
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
import javax.print.event.*;
/**
* @author H.P.Wang
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class PrintTxt extends JFrame implements ActionListener{ private JFrame frame = null;
private JButton buttonPrint = null;
public PrintTxt(){
//frame = new JFrame("javaPrint");
this.setTitle("javaPrint");
buttonPrint = new JButton("print");
this.getContentPane().add(buttonPrint);
buttonPrint.addActionListener(this);
this.setSize(new Dimension(300,400));
this.show(true);
}
public static void main(String[] args) {
PrintTxt pt = new PrintTxt();
}
/* (non-Javadoc)
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
printFileAction();
}
/*???????*/
private void printFileAction()
{
// ?????????????????
// JFileChooser fileChooser = new JFileChooser(SystemProperties.USER_DIR);
JFileChooser fileChooser = new JFileChooser();
int state = fileChooser.showOpenDialog(this);//?????????
if (state == fileChooser.APPROVE_OPTION)//?????????
{
File file = fileChooser.getSelectedFile();//???????
//?????????
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
//?????????????????????AUTOSENSE
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);
System.out.println(service.toString());
if (service != null)
{
try
{
DocPrintJob job = service.createPrintJob();//??????
FileInputStream fis = new FileInputStream(file);//?????????
System.out.println(file);
DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(fis, flavor, das);//????????
job.print(doc, pras);//???????
System.out.println("=====end!=====");
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}}
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.event.*;import java.io.*;import java.awt.Dimension;
import java.awt.event.*;import java.awt.print.*;
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
import javax.print.event.*;
/**
* @author H.P.Wang
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class PrintTxt extends JFrame implements ActionListener{ private JFrame frame = null;
private JButton buttonPrint = null;
public PrintTxt(){
//frame = new JFrame("javaPrint");
this.setTitle("javaPrint");
buttonPrint = new JButton("print");
this.getContentPane().add(buttonPrint);
buttonPrint.addActionListener(this);
this.setSize(new Dimension(300,400));
this.show(true);
}
public static void main(String[] args) {
PrintTxt pt = new PrintTxt();
}
/* (non-Javadoc)
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
printFileAction();
}
/*???????*/
private void printFileAction()
{
// ?????????????????
// JFileChooser fileChooser = new JFileChooser(SystemProperties.USER_DIR);
JFileChooser fileChooser = new JFileChooser();
int state = fileChooser.showOpenDialog(this);//?????????
if (state == fileChooser.APPROVE_OPTION)//?????????
{
File file = fileChooser.getSelectedFile();//???????
//?????????
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
//?????????????????????AUTOSENSE
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);
System.out.println(service.toString());
if (service != null)
{
try
{
DocPrintJob job = service.createPrintJob();//??????
FileInputStream fis = new FileInputStream(file);//?????????
System.out.println(file);
DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(fis, flavor, das);//????????
job.print(doc, pras);//???????
System.out.println("=====end!=====");
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货