Wenn Sie einen Drucker bewusst Java-Anwendung schreiben wollen, ist es in der Regel genug, um ein Objekt mit dem PrintJob javax.print Bibliothek, die mit dem SDK kommt und lassen Sie das Betriebssystem über die Verfügbarkeit von Druckern Sorgen erstellen. Allerdings, wenn Sie ein wenig mehr Details über das, was die Standard-Drucker in der Lage ist und ob er online ist , dann können Sie die PrinterAttributeSet um mehr Informationen über den Drucker zu bekommen. Anleitung
1
erstellen PrinterStatusReport Klasse. Wenn Sie eine integrierte Entwicklungsumgebung (IDE) wie Netbeans oder Eclipse verwenden , wird es eine Option im Menü "Datei" , um diesen Prozess zu automatisieren . Ansonsten können Sie einfach öffnen Sie keine einfachen Texteditor wie Notepad und speichern Sie es mit dem Namen
Fügen Sie folgenden Code in ihm die Klasse zu definieren " PrinterStatusReport.java . ":
Public class PrinterStatusReport {
//Alle anderen Code finden Sie hier.
}
2
Fügen Sie eine main-Methode der Klasse durch Einfügen den folgenden Code innerhalb der Klammern der PrinterStatusReport :
public static void main (String [] args ) { }
3
Fügen Sie den folgenden Code innerhalb der Klammern der main-Methode :
PrintService printer = PrintServiceLookup.lookupDefaultPrintService ();
attributeSet att = printer.getAttributes ();
für (Attribute a: att.toArray ()) {
String attributeName ;
String attributeValue ;
attributeName = a.getName ();
attributeValue = att.get ( a.getClass ()). toString ();
System.out.println ( attributeName + ": " + attributeValue ); }
packt den Standarddrucker auf dem System und alle seine Attribute . Weiter geht es durch jedes Attribut und druckt das Attribut Name und Wert , einschließlich der Verfügbarkeit . Mit meinen eigenen Drucker , das folgende beträgt die Leistung:
printer-name : EPSON8EB46B
farblich unterstützt: unterstützt
Drucker -is- Annahme -jobs : Annahme - Arbeitsplätze
Warteschlange -job - Anzahl: 1
bedeutet dies, dass mein Drucker ein Epson ist , unterstützt es Farbe, wird es die Annahme neuer Arbeitsplätze und hat derzeit einen Auftrag zum Drucken der Warteschlange