Note that there are some explanatory texts on larger screens.

plurals
  1. POCannot find symbol - variable mText
    text
    copied!<p>Hey all i have been writing some code, it allows a user to select a file, a txt file, it then reads the contents of the file and then sends the contents to a printer this case a hp 8600, but on compling i get an error, Cannot find symbol - variable mText, why is this, it should be retriving mText from above as this now should contain all the data from the txt file, what am i doing wrong ?</p> <p>code:</p> <pre><code>import java.awt.*; import java.awt.font.*; import java.awt.geom.*; import java.awt.print.*; import java.text.*; import java.io.*; import javax.swing.*; public class PrintText implements Printable { // Below the code will allow the user to select a file and then print out the contents of the file public static void main(String[] args) throws IOException { //selects the file JFileChooser chooser = new JFileChooser(); chooser.showOpenDialog(null); File file = chooser.getSelectedFile(); String filename = file.getName(); //System.out.println("You have selected: " + filename); testing to see if file seleected was right String path = file.getAbsolutePath(); //Reads contents of file into terminal //FileReader fr = new FileReader("filename"); // FileReader fr = new FileReader("D:/Documents/" + "filename")); FileReader fr = new FileReader(path); BufferedReader br = new BufferedReader(fr); String mText; while((mText = br.readLine()) != null) { //Displays the contents of the file in terminal System.out.println(mText); } //fr.close(); } //private static final String mText = // "This is a test to see if this text will be printed "; //This works perfectly fine private static final AttributedString mStyledText = new AttributedString(mText); /** * Print a single page containing some sample text. */ static public void printer(String args[]) { /* Get the representation of the current printer and * the current print job. */ PrinterJob printerJob = PrinterJob.getPrinterJob(); /* Build a book containing pairs of page painters (Printables) * and PageFormats. This example has a single page containing * text. */ Book book = new Book(); book.append(new PrintText(), new PageFormat()); /* Set the object to be printed (the Book) into the PrinterJob. * Doing this before bringing up the print dialog allows the * print dialog to correctly display the page range to be printed * and to dissallow any print settings not appropriate for the * pages to be printed. */ printerJob.setPageable(book); /* Show the print dialog to the user. This is an optional step * and need not be done if the application wants to perform * 'quiet' printing. If the user cancels the print dialog then false * is returned. If true is returned we go ahead and print. */ boolean doPrint = printerJob.printDialog(); if (doPrint) { try { printerJob.print(); } catch (PrinterException exception) { System.err.println("Printing error: " + exception); } } } /** * Print a page of text. */ public int print(Graphics g, PageFormat format, int pageIndex) { /* We'll assume that Jav2D is available. */ Graphics2D g2d = (Graphics2D) g; /* Move the origin from the corner of the Paper to the corner * of the imageable area. */ g2d.translate(format.getImageableX(), format.getImageableY()); /* Set the text color. */ g2d.setPaint(Color.black); /* Use a LineBreakMeasurer instance to break our text into * lines that fit the imageable area of the page. */ Point2D.Float pen = new Point2D.Float(); AttributedCharacterIterator charIterator = mStyledText.getIterator(); LineBreakMeasurer measurer = new LineBreakMeasurer(charIterator, g2d.getFontRenderContext()); float wrappingWidth = (float) format.getImageableWidth(); while (measurer.getPosition() &lt; charIterator.getEndIndex()) { TextLayout layout = measurer.nextLayout(wrappingWidth); pen.y += layout.getAscent(); float dx = layout.isLeftToRight()? 0 : (wrappingWidth - layout.getAdvance()); layout.draw(g2d, pen.x + dx, pen.y); pen.y += layout.getDescent() + layout.getLeading(); } return Printable.PAGE_EXISTS; } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload