Java doesn't list any printers in cups
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
sun-java5 (Ubuntu) |
New
|
Undecided
|
Unassigned | ||
sun-java6 (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
This applies to a current Gutsy Gibbon amd64 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
description: | updated |
description: | updated |
description: | updated |
description: | updated |
I observed same problem on my Gutsy 7.10 installation. The printing of Java applications doesn't work. It's a rather annoying problem.
System: x86 on a IBM ThinkPad T43p.
How to reproduce: Open any Java program (I tried Freemind and some others) and try to print.
Expect: Printing dialog appear on GUI
Actual: Nothing happens on GUI (no error message), however, I found following exception text appeared on console: NullPointerExce ption: null attribute IPPPrintService .isAttributeVal ueSupported( IPPPrintService .java:1147) ServiceDialog$ OrientationPane l.updateInfo( ServiceDialog. java:2121) ServiceDialog$ PageSetupPanel. updateInfo( ServiceDialog. java:1263) ServiceDialog. updatePanels( ServiceDialog. java:437) ServiceDialog. initPrintDialog (ServiceDialog. java:195) ServiceDialog. <init>( ServiceDialog. java:124) ServiceUI. printDialog( ServiceUI. java:188) RasterPrinterJo b.printDialog( RasterPrinterJo b.java: 855) PSPrinterJob. printDialog( PSPrinterJob. java:421) controller. Controller$ PrintAction. actionPerformed (Controller. java:870) AbstractButton. fireActionPerfo rmed(AbstractBu tton.java: 1995) AbstractButton$ Handler. actionPerformed (AbstractButton .java:2318) DefaultButtonMo del.fireActionP erformed( DefaultButtonMo del.java: 387) DefaultButtonMo del.setPressed( DefaultButtonMo del.java: 242) AbstractButton. doClick( AbstractButton. java:357) plaf.basic. BasicMenuItemUI .doClick( BasicMenuItemUI .java:1216) plaf.basic. BasicMenuItemUI $Handler. mouseReleased( BasicMenuItemUI .java:1257) Component. processMouseEve nt(Component. java:6038) JComponent. processMouseEve nt(JComponent. java:3265) Component. processEvent( Component. java:5803) Container. processEvent( Container. java:2058) Component. dispatchEventIm pl(Component. java:4410) Container. dispatchEventIm pl(Container. java:2116) Component. dispatchEvent( Component. java:4240) LightweightDisp atcher. retargetMouseEv ent(Container. java:4322) LightweightDisp atcher. processMouseEve nt(Container. java:3986) LightweightDisp atcher. dispatchEvent( Container. java:3916) Container. dispatchEventIm pl(Container. java:2102) Window. dispatchEventIm pl(Window. java:2429) Component. dispatchEvent( Component. java:4240) EventQueue. dispatchEvent( EventQueue. java:599) EventDispatchTh read.pumpOneEve ntForFilters( EventDispatchTh read.java: 273) EventDispatchTh read.pumpEvents ForFilter( EventDispatchTh read.java: 183) EventDispatchTh read.pumpEvents ForHierarchy( EventDispatchTh read.java: 173) EventDispatchTh read.pumpEvents (EventDispat. ..
Exception in thread "AWT-EventQueue-0" 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.
at freemind.
at javax.swing.
at javax.swing.
at javax.swing.
at javax.swing.
at javax.swing.
at javax.swing.
at javax.swing.
at java.awt.
at javax.swing.
at java.awt.
at java.awt.
at java.awt.
at java.awt.
at java.awt.
at java.awt.
at java.awt.
at java.awt.
at java.awt.
at java.awt.
at java.awt.
at java.awt.
at java.awt.
at java.awt.
at java.awt.
at java.awt.