Bonjour, je suis désespérer, je suis toujour sur mon probléme d'impression et je ne sais pas ce que c'est le probléme. L'applet d'impression ne se lance pas et dans la console java j'ai cette erreur. Je sais que je ne peut pas instancié PrintTest mais comment je peu faire passer le résultat du bouton cliqué? Merci d'avance pour votre aide.
charger : PrintTest.java ne peut pas être instancié.
java.lang.InstantiationException: PrintTest
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source) at sun.plugin.AppletViewer.createApplet(Unknown Source) at sun.applet.AppletPanel.runLoader(Unknown Source) at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.applet.*;
import java.awt.print.*;
import javax.print.PrintService;
import java.util.StringTokenizer;
public class PrintTest extends Applet implements ActionListener{
private boolean isStandalone = false;
final static String text = "This is test1"
+ "This is test2";
final static String stars= "****";
private String textToPrint= stars;
Button y;
Button n;
Button test;
//applet constructor
public PrintTest(String s) {
textToPrint = s;
}
//get parameter
public String getParameter(String key, String def) {
return isStandalone ? System.getProperty(key, def) :
(getParameter(key) != null ? getParameter(key) : def);
}
//get information applet
public String getAppletInfo() {
return "Print Test";
}
//get information parameter
public String[][] getParameterInfo() {
return null;
}
//intern class
/*public class PrintText implements Printable{
public PrintText(String s) {
textToPrint = s;
}
}*/
//initialisation
public void init() {
setBackground(Color.white);
test = new Button("Test");
add(test);
test.addActionListener(this);
y = new Button("Yes");
add(y);
y.addActionListener(this);
n = new Button("No");
add(n);
n.addActionListener(this);
}
//event
public void actionPerformed(ActionEvent e) {
if (e.getSource() == test) {
//textToPrint= stars;
PrinterJob pj = PrinterJob.getPrinterJob();
PageFormat pf = pj.defaultPage();
Paper paper = pf.getPaper();
double ph = paper.getHeight();
double pw = paper.getWidth();
int x = 36;
int y = 36;
paper.setImageableArea( (double) x, (double) y, pw - 2 * (double) x,
ph - 2 * (double) y);
pf.setPaper(paper);
PrintTest psb = new PrintTest(stars);
Book book = new Book();
//book.append(psb,pf); // print stars
pj.setPageable(book);
if (pj.printDialog())
try {
pj.print();
}
catch (PrinterException pe) {
System.out.println("Print Error");
}
}
if (e.getSource() == y) {
textToPrint = text;
PrinterJob pj = PrinterJob.getPrinterJob();
PageFormat pf = pj.defaultPage();
//pj.setPrintable(this, pf);
//if (pj.printDialog())
try {
pj.print();
}
catch (PrinterException pe) {
System.out.println("Print Error");
}
}
if (e.getSource() == n) {
textToPrint = stars;
PrinterJob pj = PrinterJob.getPrinterJob();
PageFormat pf = pj.defaultPage();
//pj.setPrintable(this, pf);
//if (pj.printDialog())
try {
pj.print();
}
catch (PrinterException pe) {
System.out.println("Print Error");
}
}
}
//print
public int print(Graphics g, PageFormat format, int pageIndex) {
if (pageIndex >= 1)
return Printable.NO_SUCH_PAGE;
int ix = (int) format.getImageableX();
int iy = (int) format.getImageableY();
FontMetrics fM = g.getFontMetrics();
int ascent = (int) fM.getAscent();
if (pageIndex < 1) {
g.setColor(Color.black);
g.drawString(textToPrint, ix, iy + ascent);
}
return Printable.PAGE_EXISTS;
}
private String getPrinterInfo(PrinterJob pj) {
PrintService printer = pj.getPrintService(); // get printer
PageFormat pageFormat = pj.defaultPage();
Paper paper = pageFormat.getPaper();
return printer.toString(); // get printername
}
private String getPrinterName(String s) {
StringTokenizer sTok = new StringTokenizer(s, ":");
String printerName = s;
if (sTok.countTokens() > 1) {
while (sTok.hasMoreTokens()) {
printerName = sTok.nextToken();
}
}
return printerName;
}
}