|
Áß‚‡ ÍË Ä‚ˆ ÝßË Å›‹– Ä‚ˆ ÞŸ…‹Šœ ÁÍ ÜßÁ à‰• ÍßÔˆ à— ËÁË ËÁߊ Þ‚Œœ ‚›Œ àƒ Jean Pierre Dube Å›‹– ÞŸÁ ÍË àé…é•ÍŒŸ„ ÿ‚class ÎÁ ÍßÔˆ à— ÅŠß›À ËÁߊ ‚›Œ àƒ ÞŸœˆ› ßÁ :ËŸì‚›œ Ä‚ˆ .ËŸì‚›œ àË‚•…‹Á Java Print API ÍË .ËÍßÀ ÝéŸéÁßéŠ Ü雃 ‚›Œ ÎÁ ÿœ‚‰…›Á Áß‚‡ ÍË Ä‚ˆ ËÍß› ÍË ÑŠƒ ÞŸÁ ÍË Î韜 ß ¬(Printable and Pageable) ËŸË͘ àŽÍ ‚›Œ àƒ Ä‚ˆ ÜË› ßË ÜßÁ Å›‹– Ä‚ˆ ÞŸ™ßÁ ‚ƒ ÁÍ ÝßË Å›‹– .ËŸË͘ áÍßÀË‚Ÿ ‚›Œ àƒ Book К— ÎÁ àË‚•…‹Á ÎÍÔ Java_2D ‚éƒ Í…àËŸˆŸ„ ÚÍÁË› render àƒ Ð„‹ ß Ëß›œ ËŸÁߊ ÖßÍŒ à‰• ÚŸ ÎÁ ß ‚Ŝߕ ÎÁ àË‚•…‹Á ÿ˜œß˜ˆ ËÍß› ÍË .ÅŠÁËÍ„ ÝŸÁߊ àÔ߃͛ ÿ‚ž‹š— ÍŸ‚‹ ß àËÁË Üßé– Üéƒé– Å›‹– ÍË à—ŸÍßÔœ‚› ß ËÁË ÝÁߊ ÉŸŽß… àÔ߃͛ ÿ‚К— Οœ à‡ß… .ÅŠÁËÍ„ ÝŸÁߊ Ø™…Š› ÿ‚Ý͕Ś„ ÍË Ä‚ˆ àƒ Ô߃͛ Üì‚‹› ÿ‹Í̓ àƒ ¬ËŒ ÎßËœŸß ß Ð—ßœŸ™ ʼn… Þ‚‹ Java ÎÁ àË‚•…‹Á ‚ƒ Å‚œŸÍ›… Ý‚›… à— ËŸŒ‚ƒ à…ŒÁË .Ë߃ ËÁߊ Á͇Á ß ÜŸ‚„›— ܃‚– ²°°° ËŸœ— Ä‚ˆ ÁÍ Ëߊ à‰• ÞŸ™ßÁ ß Printable :ËÍÁË ÒŠŒ› ÜË› ßË Áß‚‡ ÍË Ä‚ˆ Ý…‹Ÿ‹ à— ËŸ…•͘ ÁÍ• ± ÑŠƒ ÍË ÿÁÍÁË ¬Ë韂›œ Ä‚ˆ ÁÍ àË‚‹ ÚÍÁË› ËœÁß…ÿ› Ô–• Printable àˆ Í˜Á .Pageable ËŸ‚ƒ Å‚‰• à— Å‹œŸÁ ÞÀ ÞŸÍ…˜Í΃ ß ÅŸËßˉ› ÞŸ™ßÁ .Å‹Á áÍ‚Ÿ‹ƒ ÿ‚ž…ŸËßˉ› Ø‚éÔééœÁ Íé˜éŸË Å͂郃 Pageable ÜË› .ËœŒ‚ƒ ÍÁËÍߊ̓ àƒ‚Œ› ś͕ ÚŸ ÎÁ ÚÍÁËé› ËéœÁßé…ÿé› Book Ðšé— ÎÁ àË‚é•é…é‹Á ‚éƒ .ËŸ‚›œÿ› àìÁÍÁ ÁÍ áÍ…ŒŸƒ Ë‚é‡éŸÁ ËéœÁàËŒ àËÁË Å›Í• Åß‚•…› ÍßÔƒ à— ÁÍ ËË…› Å‚‰• ‚ƒ ß multipage Ä‚ˆ Ü› Printable ÿߘ™Á ÎÁ àË‚•…‹Á ‚ƒ ÍßÔˆ à— ËËÿ› Þ‚Œœ ± Å‹Ÿ™ .ËŸ‚›œ .ËŸË Ý‚‡œÁ ÁÍ ÍË ‘郂éœé› Å雋– ÎÁ ËŸœÁß…ÿ› ÁÍ ‚žœÀ ÐÍß‹ ‚ƒ àÁÍ› Å‚œŸÍ›… Ý‚›… :à‡ß… .ËŸì‚›œ download à™‚–› ÿ‚ž…œÁ ± Å‹Ÿ™ ÓÍé• Ñ韄 Å‚›ŸÕœ… ÎÁ àË‚•…‹Á ‚ƒ ÁÍ ÈœŸÁ ÝŸœ ÍË ÈœŸÁ ÝŸœ grid ÚŸ ± Å‹Ÿ™ Åé‹ÁÍ ß Äéˆ ¬ÞéŸéŸ‚é„ ¬š‚éƒ ÿÁ̓ ÈœŸÁ ÚŸ šß›› ¬Ëß›œ ËÁߊ Ä‚ˆ ‚àŸŒ‚‰ Íé˜Á à— ËŸŒ‚ƒ à…ŒÁË à‡ß… Å‹Á ËœŒ›Áߊ ß .ËŒ ËÁߊ à…•Í˜ ÍÕœ ÍË ‚àŸŒ‚‰ ¬ËéŒ ËœÁߊœ ‚‡ ‚àŸŒ‚‰ ˟˃ Ý‚‡œÁ Java 1.2 ‚ƒ ÁÍ àœß›œ ÞŸÁ ËŸÍÁË ÜŸ› ÍË Û‚éƒ ÚéŸ .ËéŒ ËéÁßéŠ ÈéœéŸÁ ÚéŸ ÎÁ Íé…éŒéŸéƒ ÿé›é— Äéˆ Å›‹ àŸŒ‚‰ ß .ËŒ ËÁߊ àŸ–œ ÞŸÁ Çߛ Java 1.2 Print API printable ÜË› ‚ƒ Ä‚ˆ ÿÁ̓ ÁÍ Î‚Ÿœ ËÍß› Å‚›ÁË–Á ˟˃ à΂‡Á ÍŽ‚‰ Ü‚‰ ÍË .ÝŸì‚›œ ÜŸ™‰… ß àŸÎ‡… ‚éƒ ÁÍ Ä‚éˆ Í‚é— Þ‚éŸÍ‡ object ÞŸÁ .ËŸì‚›œ Ë‚‡ŸÁ Printer Job Object ÚŸ .ËŸ‚›œÿ› ΂’À ÁÍ Ä‚ˆ Ü› ß ÜÍ…œ— Ä‚ˆ ÿ‚ž˜ß™‚ŸË ß à‰• ÞËÁË Þ‚Œœ .(Ì’‚— ÿ‚ž˜ß™‚ŸË ‚Ÿ Ä‚ˆ ÎÁ ÝÁ) ËË Þ‚Œœ ÁÍ Å‹ÍË ÿ‚ž˜ß™‚ŸË - .Ëœ—ÿ› à˂镅‹Á Printable П•Í…œŸÁ ÎÁ print() Ë…› ÎÁ à— Ëœ— àŸž… К— ÚŸ - .ËŸ‚›œ ÜÍ…œ— Ëߌ render ËŸ‚ƒ à— ÁÍ ÿÁà‰• àÍ‚›Œ - .ËŸ‚›œ ÍËœÍ Graphics Í…›ÁÍ‚„ ÎÁ àË‚•…‹Á ‚ƒ ÁÍ Ëߊ à‰• - ÍËéœÍ à‰• ͘Á ß ËœÁË͘ ΂ƒ ÁÍ PAGE_EXISTS ÍÁË–› Ëߌ render à‰• ͘Á - .ËœÁË͘ ΂ƒ ÁÍ NO_SUCH_PAGE ÍÁË–› Ëߌÿ›œ Ä‚ˆ Åž‡ Books ß Pageable ÎÁ àË‚•…‹Á Ü—Œ…› ËœŸÁÍ• ÚŸ Printable ‚ƒ Ä‚ˆ ¬ËŸ…•͘ ÁÍ• ܃– ÿ‚ž™‚†› ÎÁ à— ÍßÔœ‚› Þ‚éŒéœ ËßéŠ ÎÁ ÁÍ áÍé…ŒŸƒ ؂ԜÁ ËœË͘ Í…àËŸˆŸ„ ÚÍÁË› à—Ÿ›‚˜œ ‚›Á Å‹Á Íé…ÿ™› Í‚Ÿ‹ƒ Book К— ß Pageable àËŸˆŸ„ ÚÍÁË› ÎÁ Ä‚ˆ ÿÁ̓ .ËÁË ËÁߊœ Book К— ¬ËŒ ÉŸÍŒ… áÍ‹ ÞŸÁ ÜßÁ Å›‹– ÍË à—ŸÍßÔœ‚› .Ëœ…‹ Í…Á͇Á ܃‚– ß àŸž… Þ‚‹—Ÿ Ù‚– ÚŸ ÎÁ Book К— ÚŸ Å‚‰• ‚ŸÀ ÝŸ›ž•ƒ à— ËËÿ› ÅÍ• ‚› àƒ ‚éƒ Pageable ÿé™é› Ü‚†› ÚŸ ÞËŸË ÿÁ̓ .ËœÍÁË ÿ…ß‚•…› ÿ‚žƒ™‚– ‚Ÿ ËœÁàËŒ .ËŸœ— ÖßÍŒ Ü‚†› ÞŸÁ ² Å‹Ÿ™ ÿßÍ ÿÁÍéƒ Íé˜é„‚ˆ ÚŸ ÎÁ à— ËÍ— ËÁߊ Ä‚ˆ ÁÍ ÿÁà‰• ßË ÚÍË› ÚŸ Ü‚†› ÞŸÁ ÚŸ ÅÍ߃ Ë™‡ ÿßÍ .Ëß›œ ËÁߊ àË‚•…‹Á ÚÍË› Ëߊ ÿÁ̓ ͘ŸË ͘„‚ˆ ÚŸ ß Ë™‡ Ä‚éˆ Landscape Åé›Íé• ÍË á˃ à‰• ß Ë߃ ËÁߊ Portrait àÎÁËœÁ ÍË à‰• Ä‚ˆ ÁÍ à‰• ÚŸ Ô–• ͘„‚ˆ Í ² Å‹Ÿ™ ÍË à— ËŸŒ‚ƒ à…ŒÁË à‡ß… .ËŸË͘ ËÁߊ Ü‚†› àƒ Ëœ— Ä‚ˆ ÁÍ à‰• ÚŸ ÎÁ Í…ŒŸƒ à— Í…œŸÍ„ ÎÁ àË‚•…‹Á ÿÁ̓ .ËŸ‚›œÿ› :˟삛͕ à‡ß… á˃ ³ Å‹Ÿ™ àé‰é• painter Þ‚› ÎÁ à— ËŸ‚›œÿ› à•‚ŽÁ ÁÍ Ýß‹ à‰• ´´ ÔŠ Ë— ³ Å‹Ÿ™ ÍË Åéžé‡ ÁÍ Åé‹ÍË àé‰é• if Íß…‹Ë ±·± ‚… ±¶´ ÔßÔŠ ÍË .ËŸ‚›œÿ› àË‚•…‹Á ÜßÁ ÿ郂ŸÎÍÁ ÿÁ̓ Ë— Å‹Á àË‚‹ Ü‚†› ÚŸ ÞŸÁ à—Ÿì‚‡œÀ ÎÁ .Ëœ— ÿ› ÜÍ…œ— render ËéŸé…é•‚ŸÍË Üƒ– ÿ‚ž™‚†› ÎÁ à—Ÿì‚‡œÀ ÎÁ ‚›Á .Å‹Á Þ‚‹À Í‚Ÿ‹ƒ à‰• render ÁËéƒ Ä‚ˆ ÿƒßˆÍ‚žˆ .ËŒ‚ƒ ÿÁàËŸˆŸ„ Í‚Ÿ‹ƒ Í‚— ËœÁß…ÿ› ÚÍË› ÚŸ áÍÁ̘ à‰• àéƒ àé—霟Á ÿ‚‡ƒ à— ËËÿ› ÁÍ Þ‚—›Á ÞŸÁ ¬ËÁË ÝÁߊ ÉŸŽß… àß›‡› ÞŸ› ÍË ÿ‚éÍ‚— àƒ ¬ËŸË ‚‡ à‰• ÚŸ ÍË ÁÍ ÿÁàËœßÍ„ ‚… ËŸÎÁËÍ„ƒ ÿ…‚ƒ‹‚‰› ÿ‚Í‚— .ËŸÎÁËÍ„ƒ ͘ŸË ¬ËéŸéœé— render ÁÍ Å‚é‰• Print API ÎÁ àË‚•…‹Á ‚ƒ àœß˜ˆ ËŸœÁËÿ› à— Ü‚‰ Íé˜é„‚ˆ ËœÁß…ƒ ̓͂— ÞÀ ÙŸÍÔ ÎÁ à— ÁÍ Ûß™‚ŸË ÚŸ à—ËŒ‚ƒ ÞŸÁ Í…žƒ Å‹œ—›› ÍË ÁÍ Þ‚é—é›Á ÞéŸÁ ËéŸéÁß銃 Å‹œ—›› ÞŸœˆ› .ÝŸì‚›œ àìÁÍÁ Ëœ— ÞŸŸ… ÁÍ .ËéË ÍéŸéŸé“é… ÁÍ ‚éàéŸéŒ‚‰ ‚Ÿ ß à‰• ś͕ ‚… ËŸË ÍÁÍ– ̓͂— Í‚Ÿ…ŠÁ àÍé‡éœ„ ß Printer à͇œ„ :ËŸ‚›œ ÿ› àìÁÍÁ Ûß™‚ŸË à͇œ„ ßË Java Print API .Page Setup Ì’‚— ÝŸÕœ… à͇œ„ ß Ä‚ˆ à͇œ„ ÎÁ àË‚•…‹Á àéŠé‹éœ ÎÁ .ËéŸËÁËÿ› Þ‚Œœ Ô–• ÁÍ Print à͇œ„ ËŸ‚ƒ Áß‚‡ ÿ™ƒ– ÿ‚àŠ‹œ ÍË Æé‚éƒ Üé›é ÞéŸÁ .ËŸË Þ‚Œœ ÁÍ Print ‚Ÿ Page à͇œ„ ËŸœÁß… ÿ› Java 1.2 ÿé› ÁÍ Þ‚é—›Á ÞŸÁ ‚›Œƒ ß ËŸì‚›œ Ë‚‡ŸÁ Unattended Print Job ÚŸ à— Ëߌÿ› ÎÁ àË‚é•é…é‹Á .ËéŸì‚›œ ØŸÍ… ÚÍÁË› Ä‚ˆ ÿÁ̓ ÁÍ Ä‚ˆ ÍßÍ‹ ËŸœÁß…ƒ à— ËË à雂éœÍéƒ ÞËéŒ user-friendly Ãé‡ß› desktop Ëœœ‚› ÿ‚à›‚œÍƒ ÍË ‚ž˜ß™‚ŸË ˟삛͕ à‡ß… ± Ü—Œ àƒ .ËŸË͘ ËÁߊ ![]() Ä‚ˆ à͇œ„ - ± Ü—Œ ÁÍéœÀ áËœƒÍ—Ÿ„ ß àËÍ— Ã‚Š…œÁ ÁÍ Í˜„‚ˆ ÚŸ ËœÁß… ÿ› ̓͂— Print à͇œ„ ‚ƒ ß àËÍé— ÝŸÕœ… Ä‚ˆ ÿÁ̓ ÁÍ ‚ÿ„— ËÁË… ËœÁß… ÿ› ÞŸœˆ› ̓͂— .ËË ÍŸŸ’… ÜÍé…霗 ËŸœÁß…ÿ› à͇œ„ ÞŸÁ ÎÁ àË‚•…‹Á ‚ƒ .ËŸ‚›œ Ã‚Š…œÁ ÁÍ Å‚‰• àËßˉ› ËœÁß…ÿ› ̓͂— à— Å‹Á ÿ™‰› ‚žœ… à͇œ„ ÞŸÁ .ËŸì‚›œ Ü–…œ› ̓͂— àƒ ÁÍ Ä‚ˆ .Ëœ— ÜÔ‚ƒ ‚Ÿ ß ËŸì‚… ÁÍ Ä‚ˆ Ü› ‚ƒ :ËŸì‚›œÿ› àÕ‰š› ËŒ‚ƒ ÿ› Print à͇œ„ ÑŸ‚›œ Çߛ à— ÁÍ ÿœŸ›ÁÍ• ‚‡œŸÁ ÍË
ނ錜 ̓͂— àƒ ÁÍ Print à͇œ„ PrinterJob К— ÎÁ ÿŒŠƒ printDialog() Ë…›
PageFormat documentPageFormat = new PageFormat ();
ÿéŸéŒ ÎÁ clone ÚéŸ pageDialog Ëé…é› Ë韂›œ Ã‚Š…œÁ ÁÍ Ok ËŸ™— ̓͂— ͘Á
Classes included in the Java Graphics API Note: Links to javadocs for these classes are available in Resources
This is a BOLD attribute Ëé…é› ÎÁ ËéŸ‚éƒ ¬ËŸì‚›œ Ä‚ˆ AttributedString К— Þß˃ ÁÍ ÅÍ‚ƒ ÞŸÁ ͘Á ËéÁßéŠ ÍéŸÎ Ëé— àƒ àŸƒŒ áΟˆ ÞÀ Ë— ß ËŸœ— àË‚•…‹Á Graphics.drawString :Ë߃
Ü‚é‰ .ÝéŸÍÁË Î‚Ÿœ ÿÁàË‚‹ Þ…› ÞŸœˆ Ä‚ˆ Åž‡ Ë— àÎÁËœÁ àˆ àƒ à— ËŸœ— à‚˜œ Ë— Ë–ˆ ÝŸœ— render Ü›‚— ÍßÔƒ ÁÍ ØÁ͘ÁÍ‚„ à› ÝŸ…‹Áߊÿ› ͘Á ËŸì‚›œ Íß… .ÝéŸéŸ‚雜 Í…Š› AttributedString ÿŸŒ ‚ƒ ÁÍ Ü‚†› ÞŸÁ ÝŸœÁß…ÿ› .Ë߃ ÝΚ ß ÖßÍéŒ ËÍÁË Î‚éŸéœ ß Ë霗ÿ› ÿœ‚ƒŸ…Œ„ Ù™Ô› ÍßÔƒ ÁÍ ‚attribute К— ÞŸÁ .ËŸì‚›œ ÒŠŒ› ÁÍ attribute ܉› ÿ‚ž…œÁ .ËŸœŸƒÿ› AttributedString ÎÁ àË‚•…‹Á ‚ƒ ÁÍ ÿ™ƒ– Ü‚†› ‚‡œŸÁ ÍË
AttributedString attributedString = new AttributedString ("This is a Bold attribute"); àéƒ bold attribute Ü‚›Á Åž‡ .Å‹Á BoldFace ÅÍ߃ Bold à›™— š‚ƒ Ü‚†› ÍË Íé…é›ÁÍ‚é„ ÞéŸé™ßÁ .ËéŸéì‚雜 àË‚•…‹Á Addatrtribute() Ë…› ÎÁ Bold à›™— ËßéŒ ÝŸÕœ… ËŸ‚ƒ à— ÁÍ attribute àËÁßœ‚Š à— ¬Å‹Á attribute key ͘œ‚Ÿ‚›œ attribute à— ËËÿ› Þ‚Œœ WEIGHT .TextAttribute Ü‚†› ÿÁ̓ .ËŸ‚›œÿ› ÿ•Í› .Ë߃ ËÁߊ weight Ößœ ÎÁ àéƒ ÁÍ Íé…é›ÁÍ‚é„ ÞéŸé™ßÁ ‚é› Íé˜Á .Åé‹Á attribute ËßéŠ ÝßË Íé…é›ÁÍ‚é„ ÿ‹Í…‹Ë ܃‚– ÿ‚attribute ˃ ÝŸì‚›œ ÝŸÕœ… TextAttribute ¬WEIGHT_EXTRALIGHT ¬WEIGHT_DEMILIGHT ¬WEIGHT_DEMIBOLD ¬WEIGHT_LIGHT ¬WEIGHT__HEAVY ¬WEIGHT_EXTRABOLD WEIGHT_SEMIBOLD ¬WEIGHT_REGULAR ¬WEIGHT_MEDIUM .Ë߃ ËœÁߊ WEIGHT_ULTRA_BOLD ß attribute ÖßÍéŒ Å‹ÁߊÍË ËŸ‚ƒ à›‚œÍƒ à— Å‹Á ÿ™‰› àËœË Þ‚Œœ Ýß‹ Í…›ÁÍ‚„ Øé–ßé…é› attribute ‚é‡é— àé— ËéËÿ› Þ‚Œœ ÍŠÀ ß ÝÍ‚žˆ Í…›ÁÍ‚„ ß Ë˃ ÁÍ àéƒ ÁÍ attribute ¬Þ‚Ÿ‚„ ß Î‚’À ÿ‚Í…›ÁÍ‚„ Þß˃ ËŸœÁß…ÿ› ÞŸœˆ› .ËË͘ÿ› ÚéŸ ÿ霂é›é…éŠ‚é‹ ÃéŸé—Íé… àËéœË Þ‚Œœ µ Ü—Œ .ËŸŸ‚›œ Ü‚›Á ÅÍ‚ƒ ÚŸ Ü— .ËŒ‚ƒÿ› AttributedString ![]() µ Ü—Œ TextLayout Þß›ÎÀ Ðšé— ‚éƒ ÞËÍé—Í‚é— ÿÁÍéƒ Î‚Ÿœ ËÍß› ÿ‚ž‹š—ÿ›‚›… ËÍß› ÍË ÝΚ ÝŸ‚•› ÚœŸÁ àéé‡ÁÍ› ‘ƒ‚œ› Å›‹– àƒ) à™‚–› ÞŸÁ ´ Ü‚†› Ë— .ÝŸÁà…•Í˜ÁÍ• ÁÍ TextLayout ÿ‚éœéžé„ .ËŸ‚›œÿ› render ÁÍ ØÁ͘ÁÍ‚„ ÚŸ TextLayout ÎÁ àË‚•…‹Á ‚ƒ ¬(Ëߌ ÍË TextLayout àéƒ ÔßéƒÍé› ÞéŸé›ÁÍ• .Å‹Á àËŸË͘ ØŸÍ… ÈœŸÁ 7.5 ØÁ͘ÁÍ‚„ .ËœŒ‚ƒÿ› ²³µ ÿ™Á ±¶² ÿ‚ÍÔ‹ ´ Å‹Ÿ™ Åéœß• addAttribute() Ë…› .ÝŸœ—ÿ› ØŸÍ… AttributeString ÚŸ :´ Å‹Ÿ™ àšŠ àéƒ Í…›ÁÍ‚„ ßË ß ÝŸœ—ÿ› ØŸÍ… LineBreakMeasurer ÚŸ Є‹ .Ëœ—ÿ› ØŸÍ… ÁÍ ‚é… FontRenderContext ÚéŸ ß AttributedString ÎÁ ØÍ‰ ÚŸ ¬ÝŸœ—ÿ› ËÍÁß ÞÀ LineBreakMeasurer ¬Ü郂閛 ÍË .ÝŸŒ‚ƒ àËÍ— àìÁÍÁ ÁÍ ÝΚ ÿ‚font metrics Ëéœéˆ ÎÁ à–™‰ ÞŸÁ .ËœÁË͘ÿ› ̓ TextLayout ÿŸŒ ÚŸ àËŒ à…‹—Œ ÍÔ‹ Í ÿÁ̓ àé…éŒÁË ÍéÔ‚éŠéƒ .Ëœ—ÿ› àË‚•…‹Á ÍÔ‹ Í ÞËÁË ÍÁÍ– ÿÁ̓ ÿŽ‚ŸÍ àË‚‹ Íß…‹Ë Äéˆ Åé›é‹ ÿš‚éƒ àéŒß˜ ÎÁ ÜŸÔ…‹› ÚŸ ØšŠ Íƒ Ŝߕ Þ…•͘ ÍÁÍ– ܉› à— ËŸŒ‚ƒ Þ韜ˆ› .ËË͘ÿ› àƒ‹‚‰› Ŝߕ baseline Ђ‹Á ̓ y=0 Óß ÍË .Ëߌÿ›œ àƒ‹‚‰› ËéŸ‚éƒ ¬ËéŸéË ÍÁÍé– ÿ韚‚ƒ ÍÔ‹ ÍŸÎ ÍË Å‹ÍË ÁÍ Þ…› ÍÔ‹ ÚŸ ËŸÁߊÿ› ͘Á àéƒ Åœß• Í‚…Š‚‹ Åž‡ .ËŸìÁΕ‚Ÿƒ Ëߊ Å‚ƒ‹‚‰› ÍË ÎŸœ ÁÍ leading ß descend .ËŸœ— à‡ÁÍ› ± Ü—Œ Ëé— ÍéÔ‹ Ëœˆ Ô–• Í‚—œŸÁ ÿÁ̓ .ËËÿ› Þ‚Œœ ÁÍ Þ…› Ü›‚— ÎÁÍ… ÚŸ á˃ Ü‚†› .ÝŸÁàËÍ— à•‚ŽÁ ÿ™ƒ– Ü‚†› àƒ µ Å‹Ÿ™ áËé…› TextLayout К— ËœˆÍ .Å‹Á ²µ¹ ‚… ²±¹ ÍÔ‹ ÎÁ µ Å‹Ÿ™ Å›‹– ÞŸÍ…ƒ™‚‡ ÿé™ß ¬Ë韂é›éœÿé› ÎÁÍé… Üé›‚é— ÍßéÔéƒ ÁÍ Þé…› ÍÔ‹ ÚŸ à— Ëœ—ÿ› àìÁÍÁ ÁÍ àéìÁÍÁ Þé…é› ÍéÔé‹ ÞéŸÍŠÀ ÞËÍ— ÁËŸ„ ÿÁ̓ áËÍ—™› ÈŸ LineBreakMeasurer ‚éÍéÔ‹ÿ›‚›… ¬ËŒ‚ƒ àËŒ ÎÁÍ… Å‹ÍË à— ÿ•Á͘ÁÍ‚„ ÚŸ ÍË à— ‚‡œÀ ÎÁ .Ëœ—ÿ›œ ÁÍéœÀ ß Ý韜— ÁËŸ„ ÁÍ ÍÔ‹ ÞŸÍŠÀ ËŸ‚ƒ ¬Å‹Á àËŒ ÎÁÍ… ÞÀ ÍÔ‹ ÞŸÍŠÀ ÎÁ ÍŸ’ .ÝŸì‚›œ Ä‚ˆ àËŒœ ÎÁÍ… ÍË ÁÍ ‚žœÀ ß ÝŸœ—Œƒ ÁÍ ‚ÍÔ‹ÿ›‚›… ËŸ‚ƒ ÁË…ƒÁ ¬ÍÔ‹ ÞŸÍŠÀ ÞËÍ— ÁËŸ„ ÿÁ̓ ÜÍé…éœé— ÁÍ ‚ÍÔ‹ÿ›‚›… for à–™‰ ÚŸ Є‹ .ÝŸì‚›œ àÍŸŠÌ (Vector) ÍÁË̓ ÚŸ ÎÁÍé… ÁÍ ÍéÔé‹ ÞÀ getJustifiedLayout() Ëé…é› ¬Ëßéƒéœ ÞŸÍŠÀ ͘Á ß Ëœ—ÿ› render Åé‹é àé— àé—éŸé…Íßé Þ‚› àƒ ÁÍœÀ ¬Ë߃ ÍÔ‹ ÞŸÍŠÀ ͘Á ß ËŸ‚›œÿ› .ËŸ‚›œÿ› ÍŸß‚… Ä‚ˆ ß ß àËéœÁߊ Image ÿŸŒ ÚŸ ÍË ÁÍ ÍŸß… ÚŸ à— Å‹Á ÿ˜Ë‚‹ Þ‚› àƒ ÍŸß… Ä‚ˆ àé— ËéËÿé› Þ‚éŒœ á˃ Ü‚†› .ÝŸœ—ÿ› Á͇Á ÁÍ Graphics2D.drawImage() Ë…› ÍéŸßé… Ä‚ˆ ÿ™Á Ë— à— ±¹¸ ß ±¶µ ÔßÔŠ àƒ .ÝŸì‚›œ Ä‚ˆ ÁÍ ÍŸß… ÚŸ àœß˜ˆ .˟삛͕ à‡ß… Å‹Á ¶ Å‹Ÿ™ :Ëߌÿ› ÝŸ‹–… àË‚‹ à™‰Í› à‹ àƒ ÍŸß… Ä‚ˆ ܉ÁÍ› .ËŸ‚›œ àÍ‚ŒÁ ËŸœ— Ä‚ˆ ËŸÁߊÿ› à— áÍŸß… àƒ à— URL ÚŸ Ë‚‡ŸÁ -± ÎÁ àË‚é•é…‹Á ‚ƒ .ËŸì‚›œ ΂ƒ MediaTracker К— ÎÁ àË‚•…‹Á ‚ƒ ÁÍ ÍŸß… -² ËéŸé™éŸ‚é› Í˜Á .ËŸì‚›œ ΂ƒ ÁÍ GIF ß JPEG ¬PNG ÿ‚ž™Ÿ‚• ËŸœÁß…ÿ› К— ÞŸÁ .ËŸœ— àË‚•…‹Á Advance Imaging API ÎÁ ¬ËŸì‚›œ ΂ƒ ÁÍ á͘ŸË Ößœ ÍŸß… ÝéŸé‹Íé… Graphics2D Ðšé— ÎÁ drawImage() Ëé…› ÎÁ àË‚•…‹Á ‚ƒ ÁÍ ÍŸß… -³ Image ÿéŸéŒ Í…›ÁÍ‚„ ÞŸ™ßÁ .ËÍÁË Î‚Ÿœ Í…›ÁÍ‚„ ÑŒ àƒ drawImage() .ËŸì‚›œ Äéˆ Åé›é‹ š‚éƒ àéŒß˜ Å‚…Š› Í…›ÁÍ‚„ ÞŸ›ß‹ ß ÞŸ›ßË .Ëߌ Ä‚ˆ ËŸ‚ƒ à— Å‹Á .Ëéœé…é‹é Ö‚•…ÍÁ ß ÓÍ ÞËÍ— ÒŠŒ› Òߊ› ÞŸ›‡œ„ ß ÞŸ›Í‚žˆ ß Ëœ…‹ ÍŸß… Component Ðšé— ÎÁ ܂醛 ÞŸÁ ÿÁ̓ .Å‹Á ImageObserver ÿÁ̓ Í…›ÁÍ‚„ ÞŸÍŠÀ ÍË ÁÍ ImageObserver ÐéŸé•Í…œŸÁ ¬Component ÿ‚ К—ÿ›‚›… .ÝŸœ—ÿ› àË‚•…‹Á .ËœËÿ› ÍÁÍ– Þ‚…Í‚Ÿ…ŠÁ Ìé’‚é— ÿßÍ Íéƒ ÁÍ ÍéŸß‚é… ËŸœÁß…ÿ› ÿ…‰Á̓ ¬à™‰Í› à‹ ÞŸÁ ÎÁ àË‚•…‹Á ‚ƒ ËéŸéœÁßé…ÿé› ¬ËŸÍÁË Î‚Ÿœ áÍ…ŒŸƒ ÿ‚ž…›Í• ÿœ‚ƒŸ…Œ„ àƒ Í˜Á .ËŸì‚›œ render .ËŸì‚›œ Å•‚ŸÍË JavaSoft ÅŸ‚‹ Ãß ÎÁ ÁÍ Advanced Imaging API Åß‚•…› ÿ‚Ý͕Ś„ ÍË Ä‚ˆ ÿßÍ Íéƒ ËéŸ‚éƒ ‚é›Á Åé‹Á ÅéŸé›Á ÿÁÍÁË WORA Þ‚ƒÎ ÚŸ ÞÁßœƒ Java àˆ Í˜Á Üì‚‹› ÿƒ‚ŸÎÍÁ ÍßÕœ› àƒ .ËŸ‚›œ àŸ—… Ëœ—ÿ› àìÁÍÁ Ü›‚ Ý…‹Ÿ‹ à— ÿŸ‚ž‹ŸßÍ‹ ß Linux Suse 6.4 ‚éƒ ÁÍ Ýé…é‹éŸé‹ ÚéŸ Þé› ËËéé…é› ÿ‚éÝ͕Ś„ ÿßÍ ÿ„‚ˆ ¬Ðé—ßéœéŸé™ ß ²°°° ÎßËœŸß ÞŸƒ à‹Ÿ‚–› ÿÁ̓ ß ÝËÍ— áËœƒÍ—Ÿ„ Sun Java 1.3 ß ÅéŸé•éŸé— àéƒ Þ› ÿ™Á à–š .ÝËÍ— Üß Í…ßŸ„›‚— ßËÍ àƒ ÁÍ HP5L Í…œŸÍ„ ß Ì’‚— ÝŸÕœ… à— ËŒ‚ƒÿ› áÎßËœŸß ÞŸƒ Áß‚‡ ÿ˜ËÍ…‹˜ ÿ˜œß˜ˆ à—™ƒ Å‹Ÿœ àË΂ƒ ÁÍ ËÍÁË霂é…é‹Á ÿ‚éžé˜ß™‚ŸË à— Ð—ßœŸ™ ß ËŸ‚›œÿ› àìÁÍÁ ÁÍ ËÍÁËœ‚…‹Á Ä‚ˆ .ËŸ‚›œÿ›œ ÿœ‚ƒŸ…Œ„ àË‚é•é…é‹Á APS Ä‚éˆ Íé…™Ÿ• ÎÁ SuSE Linux .Å‹Á ͘„‚ˆ áËœƒ Í—Ÿ„ ÜßÁ Ü—Œ› àéÔé–œ ¶°°x¶°° Ü›‚— Å–Ë ‚ƒ ß ÿ…‹Í˃ ÁÍ ÝËߊ HP5L ÝœÁß…ÿ›œ Þ› ß ËŸ‚›œÿ› ‚éƒ HPLaser Jet 4 ÁÍéœÀ à— ËÍ— Í‚— ÿœ‚›Î Ô–• Þ› ͘„‚ˆ .ÝŸ‚›œ áËœƒ Í—Ÿ„ .ÝËß›œ ÝŸÕœ… (¶°° ÿ‚‡ƒ) ³°° Å–Ë ÁÍé‡Á Windows àŠ‹œ ÎÁ áÍŸŸ“… àœß˜ ÈŸ Þß˃ ß Linux ÿßÍ Íƒ ÁÍ Ëߊ Ë— Þ› ÿ‚éàÍ釜„ .ËŒ Ä‚ˆ ÿ™‚ ß š‚ƒ Í‚Ÿ‹ƒ ÅŸ•Ÿ— ‚ƒ ¬Å–Ë Øš…ŠÁ Ý’ÍŸ™ ß .ÝËÍ— ÍéÕéœ àéƒ ÎßËéœéŸß ‚éƒ Åß‚é•é…› 𛂗 ‚žœÀ .ËœËß›œ Ç…› ÁÍ› Ì’‚— ß Ä‚ˆ Ëœ…‹ ‚ž˜ß™‚ŸË ÞŸÁ à˜˜‚Œœ · ß ¶ ÿ‚Ü—Œ .˜˟‹Íÿ› ![]() ЗߜŸ™ ÍË Ì’‚— à͇œ„ -¶ Ü—Œ ![]() ЗߜŸ™ ÍË Ä‚ˆ à͇œ„ · Ü—Œ .ÅŒÁË ËÁߊ ΂ƒ ‚ž…Ÿ™‚• ÿŽƒ ÎÁ ÁÍ ‚›Œ à›‚œÍƒ ‚ž˜ß™‚ŸË ÍË ÿ‹‚‹Á Øš…ŠÁ àËßËé‰é› Ã‚Š…œÁ ÿÁ̓ ÅœŸÍ„ Ûß™‚ŸË ÎÁ à— ËŸœÁß…ÿ›œ ЗߜŸ™ ʼn… Ü‚†› ÿÁ̓ àßšé .Å‹Á ÍŸÌ„ Þ‚—›Á Í‚— ÞŸÁ ÎßËœŸß ÍË à—Ÿ™‚‰ ÍË .ËŸì‚›œ àË‚•…‹Á à‰• ÿ霂éƒéŸ…Œ„ Ä‚ˆ ÿ‚àŸŒ‚‰ ØŸÍ… ÎÁ ËœÁß…ÿ›œ ЗߜŸ™ ÍË à‰• Ûß™‚ŸË ÞÀ ̓ .ËÍßÀ Ü›ƒ ÇéœÍé’ƒ Üéì‚‹› ÞŸÁ ‚ƒ ËÍË Ë ËŸ…‹ ܃‚…Íß„ ÿ‚à›‚œÍƒ Þ…Œßœ Ü‚‰ ÍË Í˜Á ÎÁ .ËŸì‚›œ ÑŸ‚›ÎÀ Åß‚•…› ÿ‚ÝÍ•…š„ ÿßÍ ÁÍ Ëߊ à›‚œÍƒ ËŸ‚ƒ ß ËŸ…‹ ̓ßÍ ÍË Ýé ÿÁàéœßé›éœ ÝÍÁËœ ÿ‹Í…‹Ë Ëœ—ÿ› Á͇Á ÁÍ OSX à— Mac àƒ Þ› à—Ÿì‚‡œÀ Ýé…鋟‹ ÞŸÁ àƒ à— ÝŸ‚›œÿ› ÿ‹ ÿ™ß Ëß›œ ÝÁߊœ àŽÍ ÝÍ•…š„ ÞŸÁ ‚ƒ àÔƒÁÍ ÖšéÔÁ àƒ á˃ ÿ‚à™‚–› ÍË ÁÍ ÇŸ‚…œ Å–ß ÖÍ‹Á ÍË ß àËÍ— ÁËŸ„ ÿ‹Í…‹Ë Ü›‚ .Ýœ‚‹Íƒ ‚›Œ ÞéŸÁ .Ëßé›éœ àìÁÍÁ ‚› àƒ ÁÍ Áß‚‡ ÍË Ä‚ˆ API ËÍ—™› ÿ˜œß˜ˆ ² ÑŠƒ :à‡Ÿ…œ ÝéŸé‹Íé… ÞÀ ÿßÍ Íƒ à— ËŸ‚›œÿ› àŸž… ‚›Œ ÿÁ̓ ÁÍ ÿ—Ÿ•Á͘ Ù‚– ÚŸ Ô–• API ß ÜßËé‡ ¬ÍéŸßéé… ¬ØÁÍé˜ÁÍ‚é„ Þ߈ ÿ›Ÿ‚•› Ë–‚• API à—Ÿì‚‡œÁ ÎÁ .ËŸì‚›œ àé— ÿ韂éÍÁ΃Á ÞËÍßÀ ŋ˃ ÿÁ̓ áÍ…ŒŸƒ Ñš… ËŸ‚ƒ ¬ËŒ‚ƒÿ› header/footers ÞéŸÁ ÍË ÞéŸéœéˆé› .ËŸÍßÀ Ü›ƒ ËœËÿ› ÍÁÍ– Þ‚…Í‚Ÿ…ŠÁ ÍË áÍ…ŒŸƒ Å‚œ‚—›Á Ä‚éˆ ÞŸƒ ÁÍ Å‚•š…ŠÁ ß ÝËÁË ÿ…ÁÍŸŸ“… Ø™…Š› ÿ‚ÝÍ•…š„ Ëß‡ß ÜŸ™Ë àƒ à™‚–› Ä‚éˆ ÃßéˆÍ‚ˆ ß ÉÍÔ Ýß‹ Å›‹– ÍË .ÝËÍ— ÿ‹Í̓ ÎßËœŸß ʼn… Ä‚ˆ ß Ð—ßœŸ™ ʼn… .ËÁË ÝÁߊ Ü›‚— ÉŸŽß… ÁÍ
|
![]()
|
![]()
Copyright 2001, JavaWorld/ International Data Group Inc./PC WORLD Iran. All rights reserved.