TAHA
10-02-2009, 07:22 AM
چگونه مي توان محتويات يك جدول در جاوا را چاپ نمود؟
برنامه نويسان و مخصوصا طراحان واسط هاي كاربري، همواره به دنبال يافتن راه حل هاي مختلفي جهت بهبود كارايي واسط هاي كاربري برنامه هاي خود ميباشند. يكي از اين موارد آن است كه كاربر قادر باشد تا محتواي جداول موجود در برنامه را به دستگاه پرينتر ارسال نموده و نسخه اي از آن را چاپ نمايد. براي انجام چنين كاري مي توان ازمتد JTable.print (http://java.sun.com/javase/6/docs/api/javax/swing/JTable.html#print%28%29) بدون هیچ آرگومانی استفاده نمود. تكه كد زير نحوه استفاده از اين متد را نمايش داده است.
try {
if (! table.print()) {
System.err.println("User cancelled printing");
}
} catch (java.awt.print.PrinterException e) {
System.err.format("Cannot print %s%n", e.getMessage());
}
http://pnu-club.com/pic/table%20print.JPG
حال اگر قصد اضافه كردن يك عبارت جهت تعيين عنوان صفحه در زمان چاپ يا page header را داشته باشيد، بصورت زير عمل مي نماييم.
MessageFormat header = new MessageFormat("Page {0,number,integer}");
try {
table.print(JTable.PrintMode.FIT_WIDTH, header, null);
} catch (java.awt.print.PrinterException e) {
System.err.format("Cannot print %s%n", e.getMessage());
}
برنامه نويسان و مخصوصا طراحان واسط هاي كاربري، همواره به دنبال يافتن راه حل هاي مختلفي جهت بهبود كارايي واسط هاي كاربري برنامه هاي خود ميباشند. يكي از اين موارد آن است كه كاربر قادر باشد تا محتواي جداول موجود در برنامه را به دستگاه پرينتر ارسال نموده و نسخه اي از آن را چاپ نمايد. براي انجام چنين كاري مي توان ازمتد JTable.print (http://java.sun.com/javase/6/docs/api/javax/swing/JTable.html#print%28%29) بدون هیچ آرگومانی استفاده نمود. تكه كد زير نحوه استفاده از اين متد را نمايش داده است.
try {
if (! table.print()) {
System.err.println("User cancelled printing");
}
} catch (java.awt.print.PrinterException e) {
System.err.format("Cannot print %s%n", e.getMessage());
}
http://pnu-club.com/pic/table%20print.JPG
حال اگر قصد اضافه كردن يك عبارت جهت تعيين عنوان صفحه در زمان چاپ يا page header را داشته باشيد، بصورت زير عمل مي نماييم.
MessageFormat header = new MessageFormat("Page {0,number,integer}");
try {
table.print(JTable.PrintMode.FIT_WIDTH, header, null);
} catch (java.awt.print.PrinterException e) {
System.err.format("Cannot print %s%n", e.getMessage());
}