Java doesn't show the printer dialog with cups
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cupsys (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: cupsys
This applies to a current Gutsy Gibbon installation
I have installed Java 1.5 from the repositories
Printing from any java application (e.g. Netbeans, Jedit) to a CUPS printer does not show the print dialog
by compiling and running the following code i can't get any printers listed.
import javax.print.
by running the following command, the printers are listed
seyon@XK0:~$ lpstat -t
programador em execução
destino predefinido de sistema: XKPrinter
periférico para XKPrinter: usb://HP/
periférico para XKPrinter_Cores: usb://EPSON/
periférico para XKPrinter_PDF: cups-pdf:/
XKPrinter aceita pedidos desde Dom 21 Out 2007 18:46:10 WEST
XKPrinter_Cores aceita pedidos desde Sáb 20 Out 2007 23:44:10 WEST
XKPrinter_PDF aceita pedidos desde Sáb 28 Abr 2007 19:41:52 WEST
impressora XKPrinter inactiva. activada desde Dom 21 Out 2007 18:46:10 WEST
impressora XKPrinter_Cores desactivada desde Sáb 20 Out 2007 23:44:10 WEST -
Updated: I can list the printers by using that java code with jre-7 beta, but still can't see any print dialog when i try to print any document with any java application. I get only the following output when i try to run this hello world printing function
/*
* Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* -Redistribution of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* -Redistribution in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* Neither the name of Sun Microsystems, Inc. or the names of contributors may
* be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* This software is provided "AS IS," without a warranty of any kind. ALL
* EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING
* ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
* OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MIDROSYSTEMS, INC. ("SUN")
* AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE
* AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
* DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST
* REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,
* INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY
* OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,
* EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
*
* You acknowledge that this software is not designed, licensed or intended
* for use in the design, construction, operation or maintenance of any
* nuclear facility.
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.print.*;
public class HelloWorldPrinter implements Printable, ActionListener {
public int print(Graphics g, PageFormat pf, int page) throws
if (page > 0) { /* We have only one page, and 'page' is zero-based */
return NO_SUCH_PAGE;
}
/* User (0,0) is typically outside the imageable area, so we must
* translate by the X and Y values in the PageFormat to avoid clipping
*/
Graphics2D g2d = (Graphics2D)g;
/* Now we perform our rendering */
/* tell the caller that this page is part of the printed document */
return PAGE_EXISTS;
}
public void actionPerformed
PrinterJob job = PrinterJob.
boolean ok = job.printDialog();
if (ok) {
try {
} catch (PrinterException ex) {
/* The job did not successfully complete */
}
}
}
public static void main(String args[]) {
JFrame f = new JFrame("Hello World Printer");
public void windowClosing(
});
JButton printButton = new JButton("Print Hello World");
f.pack();
}
}
And the Output
java.lang.
at sun.print.
at sun.print.
at sun.print.
at sun.print.
at sun.print.
at sun.print.
at javax.print.
at sun.print.
at sun.print.
With cupsys 1.2.8-0ubuntu8 i can print without problems
I confirm with jdk1.5.0_13-b05, 1.6.0_02-b05 and 1.7.0-ea-b15.
It worked on Feisty but no more on Gusty.