begin process at 2008 08 22 02:30:13
1 229 759 membres
30 nouveaux aujourd'hui
14 267 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : applet print [ Archives / Applet ] (neo1260)

applet print le 02/04/2004 09:24:04

neo1260
Salut, c encore moi avec mon probléme d'applet, j'ai laissé tombé la classe interne mais il me met une erreude compilation au niveau du book.append (psb, pf) il met cannot resolve symbole. D'aprés moi ca vien du paramétre psb qui doit être un objet printable mais je sais pas trop comment résoudre se probléme. Voici mon code si kelkun voit la solution, ca serais super. Merci d'avance pour votre aide.

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 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;
}

//initialisation
public void init() {
setBackground(Color.white);
test = new Button("Test");
add(test);
test.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");
}
}
}

//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;
}
}



Classé sous : applet, public, int, string, print

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS