| Hej,
 
 Jeg sidder og arbejder med at få udskrivet en JTable - og der giver meget
 store problemer. Jeg har angivet noget kode nedenfor. Problemet er at jeg
 ikke får udskrevet noget som helt til siden, men der bliver lavet en side -
 er der en som kan se hvorfor?
 
 Desuden kunne jeg godt tænkt mig at vide hvad Printable.PAGE_EXISTS og
 Printable.NO_SUCH_PAGE kendetegner. Jeg ved at de hhv. er 0 og 1, men er det
 en værdi som kendetegner om der er udskrevet en side, eller er der altid 0
 og 1?
 
 Jeg håber at der er en som vil hjælpe mig...
 
 På forhånd tak
 
 Brian
 
 
 
 /*************************
 public class Print implements ActionListener,Runnable,Printable
 {
 private Language lang;
 private Thread PRINTThread;
 private Graphics2D g2d = null;
 private Sheet sheet;
 private int lines_on_page = 74;
 private int pages,totalRows,y;
 private Firm firm;
 private boolean headerPrinted = false;
 private Font f;
 private float
 lineHeight,charWidth,cmaxName,cmaxAdress,cmaxDistrict,cmaxZip,cmaxPhone,cmaxCVR,maxWidth,colName,colAdress,colZip,colDistrict,colPhone,colCVR;
 private Point autoScrol;
 
 public Print()
 {
 }
 
 public void actionPerformed(ActionEvent e)
 {
 Sheet mysheet =  Sheet.instance();
 if(!mysheet.isEmpty())
 {
 if (PRINTThread == null)
 {
 PRINTThread= new Thread(this, "PRINTThread");
 PRINTThread.start();
 }
 }
 else
 {
 lang = Language.instance();
 new MsgBox(lang.getText("info"),lang.getText("noprint"),false);
 }
 }
 
 public void run()
 {
 PrinterJob printJob = PrinterJob.getPrinterJob ();
 if (printJob.printDialog())
 {
 try
 {
 Book book = new Book ();
 PageFormat documentPageFormat = new PageFormat ();
 documentPageFormat.setOrientation (PageFormat.PORTRAIT);
 book.append (this,documentPageFormat);
 printJob.setPageable (book);
 printJob.print();
 }
 catch (Exception PrintException)
 {
 PrintException.printStackTrace();
 PRINTThread = null;
 }
 PRINTThread = null;
 }
 }
 
 private void  printHeader(Graphics g,PageFormat pf)
 {
 sheet = Sheet.instance();
 lang = Language.instance();
 totalRows = sheet.getRowCount()+1;
 pages =  totalRows/lines_on_page;
 f = new Font( "Arial", Font.PLAIN , 10 );
 lineHeight = f.getSize2D();
 charWidth = Float.parseFloat("7");
 
 cmaxName = sheet.MaxNameLength();
 cmaxAdress = sheet.MaxAdressLength();
 cmaxDistrict = sheet.MaxDistrictLength();
 cmaxZip =  sheet.MaxZipLength();
 cmaxPhone =  sheet.MaxPhoneLength();
 cmaxCVR =  sheet.MaxCVRLength();
 maxWidth = (cmaxName + cmaxAdress +  cmaxDistrict + cmaxZip +
 cmaxPhone + cmaxCVR) * charWidth;
 
 colName = charWidth;
 colAdress = colName + cmaxAdress * charWidth;
 colZip = colAdress + cmaxZip * charWidth;
 colDistrict = colZip + cmaxDistrict * charWidth;
 colPhone = colDistrict  + cmaxPhone * charWidth;
 colCVR = colPhone + cmaxCVR * charWidth;
 y = 16;
 autoScrol =  new Point(0,0);
 //--- Create the Graphics2D object
 g2d = (Graphics2D) g;
 //--- Translate the origin to 0,0 for the top left corner
 g2d.translate (pf.getImageableX(), pf.getImageableY());
 //--- Set the drawing color to black
 g2d.setPaint (Color.black);
 g2d.setFont(f);
 g2d.drawString(lang.getText("firm"), (int)(colName +
 autoScrol.getX()), (int)(y + autoScrol.getY()));
 g2d.drawString (lang.getText("adress"), (int)(colAdress +
 autoScrol.getX()), (int)(y + autoScrol.getY()));
 g2d.drawString (lang.getText("zip"), (int)(colZip +
 autoScrol.getX()), (int)(y + autoScrol.getY()));
 g2d.drawString (lang.getText("post"), (int)(colDistrict +
 autoScrol.getX()), (int)(y + autoScrol.getY()));
 g2d.drawString (lang.getText("phone"), (int)(colPhone +
 autoScrol.getX()), (int)(y + autoScrol.getY()));
 g2d.drawString (lang.getText("cvr"), (int)(colCVR +
 autoScrol.getX()), (int)(y + autoScrol.getY()));
 g2d.drawLine((int)(colName + autoScrol.getX()), (int)(y -
 autoScrol.getY()), (int)(maxWidth  + autoScrol.getX()),(int)(y +
 autoScrol.getY()));
 y += lineHeight;
 headerPrinted = true;
 }
 
 public int print(Graphics g, PageFormat pf, int pageIndex)
 {
 int response = Printable.NO_SUCH_PAGE;
 if(!headerPrinted)
 printHeader(g,pf);
 System.out.println("PageIndex:"+pageIndex);
 System.out.println("Pages:"+pages);
 System.out.println("Printable.NO_SUCH_PAGE:"+Printable.NO_SUCH_PAGE);
 System.out.println("Printable.PAGE_EXISTS:"+Printable.PAGE_EXISTS);
 
 if (pageIndex >= pages)
 {
 response = Printable.NO_SUCH_PAGE;
 }
 else
 {
 for(int i = 0; i <= lines_on_page && sheet.hasNext(); i++)
 {
 firm = (Firm)sheet.next();
 System.out.println(firm.getName());
 g2d.drawString(firm.getName(), (int)(colName +
 autoScrol.getX()), (int)(y + autoScrol.getY()));
 g2d.drawString(firm.getAdress(), (int)(colAdress +
 autoScrol.getX()), (int)(y + autoScrol.getY()));
 g2d.drawString(firm.getZipcode(), (int)(colZip +
 autoScrol.getX()), (int)(y + autoScrol.getY()));
 g2d.drawString(firm.getDistrict(), (int)(colDistrict  +
 autoScrol.getX()), (int)(y + autoScrol.getY()));
 g2d.drawString(firm.getPhone(), (int)(colPhone  +
 autoScrol.getX()), (int)(y + autoScrol.getY()));
 g2d.drawString(firm.getCVRnumber(), (int)(colCVR  +
 autoScrol.getX()), (int)(y + autoScrol.getY()));
 y += lineHeight;
 }
 response = Printable.PAGE_EXISTS;
 }
 System.out.println(Printable.PAGE_EXISTS);
 return response;
 }
 }
 ********************************/
 
 
 
 
 |