19. april 2001 - 21:31Der er
10 kommentarer og 1 løsning
Udskrift af text fra JDK 1.2.1
Jeg bruger KAWA sammen med JDK 1.2.1 og vil gerne have nogle tips (men helst et eksempel = flere points til hjælperen) til at kunne skrive simpel tekst fra en simpel streng/array ud på printeren. Det skal ikke være grafik eller lign. bare TEXT.
Med kunstig intelligens skaber HP’s nye OmniBook X 14 en unik og skræddersyet brugeroplevelse målrettet dem, der ønsker høj ydeevne og intelligente funktioner
printerklasse med metoderne: public Printer() public void open () //kaldes før udskrift public void close() // \" når print afsluttet public void printLine (String tekst)// udskriver tekst public void newPage () // skifter side
Udskrift fra klassen BygningsRrapport: public void udskrivBygningsRapport(Bygning enBygning){ Printer P = new Printer(); p.open;
Det eksempel du har givet mig ......er det ikke løsningsforslaget til datamatikker eksamensopgave 2000! Hvis ja så skriver den ikke papir ud på printer men ud på skærm!
Til Paarse! Tak for dit tekst eksempel, mennnnnn når jeg køre det kommer der kun en ren side ud af printeren. Den udskriven ikkt stringen \"test\". Hvad gør jeg galt?????
hej netrotten, for det første så kan jeg ikke rigtigt huske hvorfor at print-vinduet angiver at man er ved at printe fra 1 til 999 sider ud, men det gør den altså bare :-)
Det lyder mærkeligt at der ikke kommer noget ud på siden....Bruger du de samme koordinater som jeg??
Jeg har direkte copy-paste det ind i kawa! Hvor kommer Printable.PAGE_EXISTS fra ??? Jeg kan ikke finde den i hirakiet!! Virker dit eksempel med JDK 1.2.1 ???
public class SimpleBook extends JPanel implements ActionListener{
final static Color bg = Color.white; final static Color fg = Color.black; final static Color red = Color.red; final static Color white = Color.white;
final static BasicStroke stroke = new BasicStroke(2.0f); final static BasicStroke wideStroke = new BasicStroke(8.0f);
final static float dash1[] = {10.0f}; final static BasicStroke dashed = new BasicStroke(1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10.0f, dash1, 0.0f); final static JButton button = new JButton(\"Print\");
public SimpleBook() { setBackground(bg); button.addActionListener(this); }
public void actionPerformed(ActionEvent e) {
// Get a PrinterJob PrinterJob job = PrinterJob.getPrinterJob(); // Create a landscape page format PageFormat landscape = job.defaultPage(); landscape.setOrientation(PageFormat.LANDSCAPE); // Set up a book Book bk = new Book(); bk.append(new PaintCover(), job.defaultPage()); bk.append(new PaintContent(), landscape); // Pass the book to the PrinterJob job.setPageable(bk); // Put up the dialog box if (job.printDialog()) { // Print the job if the user didn\'t cancel printing try { job.print(); } catch (Exception exc) { /* Handle Exception */ } } }
// draw Line2D.Double g2.draw(new Line2D.Double(x, y+rectHeight-1, x + rectWidth, y)); x += gridWidth;
Graphics2D temp = g2; // draw Rectangle2D.Double g2.setStroke(stroke); g2.draw(new Rectangle2D.Double(x, y, rectWidth, rectHeight)); x += gridWidth;
// draw RoundRectangle2D.Double g2.setStroke(dashed); g2.draw(new RoundRectangle2D.Double(x, y, rectWidth, rectHeight, 10, 10)); x += gridWidth;
// draw Arc2D.Double g2.setStroke(wideStroke); g2.draw(new Arc2D.Double(x, y, rectWidth, rectHeight, 90, 135, Arc2D.OPEN)); x += gridWidth;
// draw Ellipse2D.Double g2.setStroke(stroke);
g2.draw(new Ellipse2D.Double(x, y, rectWidth, rectHeight)); x += gridWidth;
// draw GeneralPath (polygon) int x1Points[] = {x, x+rectWidth, x, x+rectWidth}; int y1Points[] = {y, y+rectHeight, y+rectHeight, y}; GeneralPath polygon = new GeneralPath(GeneralPath.WIND_EVEN_ODD, x1Points.length); polygon.moveTo(x1Points[0], y1Points[0]); for ( int index = 1; index < x1Points.length; index++ ) { polygon.lineTo(x1Points[index], y1Points[index]); }; polygon.closePath();
g2.draw(polygon);
// NEW ROW x = 85; y += gridHeight;
// draw GeneralPath (polyline)
int x2Points[] = {x, x+rectWidth, x, x+rectWidth}; int y2Points[] = {y, y+rectHeight, y+rectHeight, y}; GeneralPath polyline = new GeneralPath(GeneralPath.WIND_EVEN_ODD, x2Points.length); polyline.moveTo (x2Points[0], y2Points[0]); for ( int index = 1; index < x2Points.length; index++ ) { polyline.lineTo(x2Points[index], y2Points[index]); };
g2.draw(polyline); x += gridWidth;
// fill Rectangle2D.Double (red) g2.setPaint(red); g2.fill(new Rectangle2D.Double(x, y, rectWidth, rectHeight)); g2.setPaint(fg); x += gridWidth;
// fill RoundRectangle2D.Double GradientPaint redtowhite = new GradientPaint(x,y,red,x+rectWidth,y,white); g2.setPaint(redtowhite); g2.fill(new RoundRectangle2D.Double(x, y, rectWidth, rectHeight, 10, 10)); g2.setPaint(fg); x += gridWidth;
// fill Arc2D g2.setPaint(red); g2.fill(new Arc2D.Double(x, y, rectWidth, rectHeight, 90, 135, Arc2D.OPEN)); g2.setPaint(fg); x += gridWidth;
// fill Ellipse2D.Double redtowhite = new GradientPaint(x,y,red,x+rectWidth, y,white); g2.setPaint(redtowhite); g2.fill (new Ellipse2D.Double(x, y, rectWidth, rectHeight)); g2.setPaint(fg); x += gridWidth; // fill and stroke GeneralPath int x3Points[] = {x, x+rectWidth, x, x+rectWidth}; int y3Points[] = {y, y+rectHeight, y+rectHeight, y}; GeneralPath filledPolygon = new GeneralPath(GeneralPath.WIND_EVEN_ODD, x3Points.length); filledPolygon.moveTo(x3Points[0], y3Points[0]); for ( int index = 1; index < x3Points.length; index++ ) { filledPolygon.lineTo(x3Points[index], y3Points[index]); }; filledPolygon.closePath(); g2.setPaint(red); g2.fill(filledPolygon); g2.setPaint(fg); g2.draw(filledPolygon); g2.setStroke(temp.getStroke()); }
public static void main(String[] args) { WindowListener l = new WindowAdapter() { public void windowClosing(WindowEvent e) {System.exit(0);} public void windowClosed(WindowEvent e) {System.exit(0);} }; JFrame f = new JFrame(); f.addWindowListener(l); JPanel panel = new JPanel(); panel.add(button); f.getContentPane().add(BorderLayout.SOUTH, panel); f.getContentPane().add(BorderLayout.CENTER, new SimpleBook()); f.setSize(775, 450); f.show(); }
}
class PaintCover implements Printable { Font fnt = new Font(\"Helvetica-Bold\", Font.PLAIN, 48);
public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException { g.setFont(fnt); g.setColor(Color.black); g.drawString(\"Sample Shapes\", 100, 200); return Printable.PAGE_EXISTS; } }
class PaintContent implements Printable { public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException { SimpleBook.drawShapes((Graphics2D) g); return Printable.PAGE_EXISTS;
Pagelayout skulle være PÆNT nemt at bruge, men jeg har ikke selv prøvet det.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.