JTable

2012-04-20 31 views
5

से पहले और बाद में प्रिंट करने के लिए टेक्स्ट संलग्न करें मैं JTable प्रिंट करने की कोशिश कर रहा हूं और print() विधि इस परिदृश्य में आने तक बहुत अच्छा काम करता है। आइए कहें कि मैं पहले पृष्ठ में पहले (केवल हेडर नहीं) टेक्स्ट "रिपोर्ट" टेक्स्ट और अंत में "यह रिपोर्ट का अंत है" टेक्स्ट प्रिंट करना चाहता हूं। मैं एक बार और यह स्पष्ट करना चाहता हूं कि मुझे हेडर या फ़ूटर की आवश्यकता नहीं है, केवल तभी जब मैं उन्हें प्रिंट करता हूं तो अंतिम पृष्ठ के पहले और नीचे के शीर्ष पर दिखाई देने के लिए।JTable

मैं यह कैसे कर सकता हूं?

+0

संभव नहीं है। Actuall गणराज्य! – Vagelism

+0

ठीक है। मुझे लगता है कि यह हटा दिया गया है! धन्यवाद! – Vagelism

उत्तर

4

ऐसा करने का एक तरीका append()Printable उदाहरणों की एक श्रृंखला java.awt.print.Book पर दिखाया गया है, जैसा कि here दिखाया गया है।

परिशिष्ट: JTable में getPrintable() विधि है जो चीजों को सरल बनाना चाहिए; यहां एक रूपरेखा और सरल शीर्षक Printable:

PrinterJob pj = PrinterJob.getPrinterJob(); 
Book book = new Book(); 
book.append(new Title(), pj.defaultPage()); 
book.append(table.getPrintable(...), pj.defaultPage()); 
book.append(new EndPage(), pj.defaultPage()); 
pj.setPageable(book); 
pj.print(); 
... 
private static class Title implements Printable { 

    Font font = new Font("SansSerif", Font.PLAIN, 48); 

    @Override 
    public int print(Graphics g, PageFormat pf, int pageIndex) 
     throws PrinterException { 
     Graphics2D g2d = (Graphics2D) g; 
     g2d.translate(pf.getImageableX(), pf.getImageableY()); 
     g2d.setFont(font); 
     g2d.setColor(Color.black); 
     g2d.drawString("Report", 50, 200); 
     return Printable.PAGE_EXISTS; 
    } 
} 
+0

धन्यवाद लेकिन अभी भी मेरे कौशल के लिए उन्नत लगता है !!! केवल 2 लाइनों को मुद्रित करने के लिए जटिल लगता है। क्या यह इस तरह से होना चाहिए? कुछ और आसान है? – Vagelism

+1

मैंने ऊपर विस्तारित किया है; आपको अपने प्लेटफ़ॉर्म के प्रिंट पूर्वावलोकन का उपयोग करके थोड़ा प्रयोग करना पड़ सकता है। – trashgod