ÞËÍ— ÍËœÍ
PFPage ‚éŸ PFDocument ÎÁ Íé…àË韈Ÿ„ ÿ›— PFPrintObject ÞËÍ— ÍËœÍ ËœŸÁÍ•
parent ÿéŸéŒ .ËßéŒ ÍËéœÍ Ëߊ ÎÁ Í…š‚ƒ ÿŸŒ àƒ Åƒ‹œ ËŸ‚ƒ ÿŸŒ Í ÁÍŸÎ Å‹Á
Íé…錟ƒ Å‚šÔÁ ÿÁ̓) .PFPrintObject ‚Ÿ ß ËŒ‚ƒ PFPage ÿŸŒ ÚŸ ‚Ÿ ËœÁß…ÿ›
.(ËŸì‚›œ à‡ÁÍ› Ýß‹ Å›‹– àƒ

àé— ËÁË ÝéÁßéŠ ÉéŸéŽß… ¬Å‹Á abstract ÿŸŒ ÚŸ ¬PFPrintObject à— ‚‡œÀ ÎÁ
.ËŸ‚›œ ÍËœÍ ÁÍ Ëߊ ËœÁß… ÿ› subclass ÚŸ àœß˜ˆ

àé— ÁÍ (¶ Åé‹éŸé™ ÍË ²±² ÿé™Á ±±µ ÿ‚ÍÔ‹) computeSizeAndPosition() Ë…›
.ËéŸéœé— ÁËé ¬Ëéœé—ÿ› àƒ‹‚‰› Í…š‚ƒ ÿŸŒ àƒ Åƒ‹œ ÁÍ ÿŸŒ ÅŸ–ß› ß àÎÁËœÁ
àÎÁËéœÁ ß Á˃› drawSize ß drawOrigin ‚ŸŒÁ ¬ËŒ ÜŸ›—… à™‰Í› ÞŸÁ à—Ÿ›‚˜œ
.Ëœœ—ÿ› ÅŸƒ†… ÁÍ subclass ÿŸŒ

ÿéŸéŒ ÁËéƒé› ß àÎÁËéœÁ ÞËÍßÁ ŋ˃ ¬ÅŸ–ß› ß àÎÁËœÁ àƒ‹‚‰› ÍË ÝË– ÞŸ™ßÁ
PFPage ÿ韌 ¬Í…š‚ƒ ÿŸŒ à— ÝŸ›ž•ƒ à—œŸÁ ÿÁ̓ .Å‹Á (PARENT OBJECT) Í…š‚ƒ
ÿéŸéŒ àé—霟Á ÎÁ Є .ÝŸœ—ÿ› ÁË ÁÍ isChild() Ë…› ¬PFPrintObject ‚Ÿ Å‹Á
.parentSize ß parentLocation :ËéœßéŒÿé› ÅéŸéƒé†… ÿŸŒ ßË ¬ËŒ ÁËŸ„ Í…š‚ƒ
ÿéŸéŒ ßË ÞŸÁ ¬ËŸœ— àƒ‹‚‰› ËŸÁߊÿ› ÁÍ fill ß sticky ÿ‚ÅŸ–ß› à—Ÿ›‚˜œ
.ËÍ— ËœÁߊ Ú›—


Íé˜Á .ËéŒ‚éƒ Ùé™Ô› ‚Ÿ ÿƒ‹œ ËœÁß…ÿ› à— Å‹Á áÍŸ˜ÍÁÍ– Å™‚‰ ÜÍ…œ— ¬ÝßË ÝË–
àéƒé‹‚é‰é› Í…š‚ƒ ÿŸŒ Ђ‹Á ̓ ‚ÅŸ–ß› ÿ›‚›… ¬ËŒ‚ƒ ÿƒ‹œ áÍŸ˜ÍÁÍ– ÅŸ–ß›
.ËŒ ËœÁߊ àƒ‹‚‰› à‰• àƒ Åƒ‹œ ÅÍßœŸÁ ÍŸ’ ÍË ß ËœË͘ÿ›


.(ËŸœ— à‡ÁÍ› ¶ Å‹Ÿ™ ÍË ±µµ ÿ™Á ±µ± ÿ‚ÍÔ‹ àƒ) Å‹Á ‚àŸŒ‚‰ ¬Ýß‹ à™‰Í›

àé™é‰Íé› ( ¶ Åé‹éŸ™ ÍË ±¶¸ ÿ™Á ±µ¸ ÿ‚ÍÔ‹) fill resolution ‚Ÿ fill Å–Ë
ÅÍ߃ ÁÍ Ëߊ Í…š‚ƒ ÿŸŒ à— ËœËÿ› à΂‡Á Í…œŸì‚„ ‚ŸŒÁ àƒ ‚žœÀ .Å‹Á ÝÍ‚žˆ
.Ëœœ— Í„ áËß› ‚Ÿ ÿ–•Á

ÿ‚éÅéŸéé–ßé› áËßé› ß ÿ–•Á ÅŸ–ß› ß àÎÁËœÁ àƒ‹‚‰› ÿŸ‚žœ ß Ý‡œ„ à™‰Í›
.Å‹Á sticky

computeSizeAndPosition() Ëé…é› àé— drawSize ß drawOrigin ÎÁ àË‚•…‹Á ‚ƒ
.ËŸœ— ÍËœÍ ÁÍ Ëߊ ÿŸŒ ¬Ëœ—ÿ› àƒ‹‚‰› ÁÍ ‚žœÀ

ËéœÁßé…ÿ› parent object Í à— àß›‡›ÍŸÎ ‚ŸŒÁ ÿ›‚›… à— printChild() Ë…›
‚韌Á ÎÁ ܃– Í…œŸì‚„ ‚ŸŒÁ .ËŸœ— ÁË ÁÍ ¬Ëœ—ÿ› ÍËœÍ ÁÍ ËŒ‚ƒ à…ŒÁË Íƒ ÍË
.˜ߌÿ› ÍËœÍ Ëߊ ÎÁ Í…š‚ƒ

PFFrame àƒ Ô߃͛ print() Ë…› ËŸ‚ƒ àœß˜ˆ ËËÿ› Þ‚Œœ à— Å‹Á ÿ™‚†› ÍŸÎ Ë—
: Ōߜ ËŸ‚ƒ ÁÍ

113| /**
114| * Method: print <.p>
115| *
116| * @param parG a value of type Graphics2D
117| */
118| public void print (Graphics2D parG) {
119|
120|
121| Color saveForeground = parG.getColor ();
122|
123|
124| //--- Print the child objects
125| computePositionAndSize ();
126|
127|
128| rectangle = new Rectangle2D.Double (getDrawingOrigin ().getX ().getPoints (),
129| getDrawingOrigin ().getY ().getPoints (),
130| getDrawingSize ().getWidth ().getPoints (),
131| getDrawingSize ().getHeight ().getPoints ());
132|
133|
134| //--- Draw the rectangle
135| if (fillColor != null) {
136| parG.setColor (fillColor);
137| parG.fill (rectangle);
138| }
139|
140| //--- Set the tickness
141| Stroke lineStroke = new BasicStroke ((float) tickness);
142| parG.setStroke (lineStroke);
143| parG.setColor (lineColor);
144| parG.draw (rectangle);
145|
146|
147| parG.setColor (saveForeground);
148|
149| printChilds (parG);
150| }



.Ëéœé—ÿé› Ü‚éé• ÁÍ computeSizeAndPosition() Ëé…› ¬Ùß• Ü‚†› ÍË ±²µ ÍÔ‹
ÿ‚éÍ…›ÁÍ‚„ àƒ ÿ‚Š à‡ß… ËŸ‚ƒ .Ëߌÿ› ÍËœÍ ±´· ÿ™Á ±²¸ ÿ‚ÍÔ‹ ÍË ÜŸÔ…‹›
ß drawOrigin ÍéŸË‚é–é› ÎÁ .ËéŸéŒ‚éƒ àé…ŒÁË ÜŸÔ…‹› ÿŸŒ ÿÁ̓ àËŒ àË‚•…‹Á
ÿ‚éËé…é› ÎÁ ËéŸ‚éƒ àéŒéŸé› .Å‹Á àËŒ àË‚•…‹Á ÿŸŒ ÅŸ–ß› ÿ‚‡ƒ drawSize
Ä‚éˆ ËéŸ‚éƒ à— ÿŸŒ ÚŸ ÅŸ–ß› ÞËÍßÀ ŋ˃ ÿÁ̓ drawSize() ß drawOrigin()
ÿéŸéŒ Íé ±´¹ ÍéÔé‹ ÍË printChilds() Ëé…é› "‚…Ÿ‚žœ .ËŸì‚›œ àË‚•…‹Á Ëߌ
.Ëœ—ÿ› ÍËœÍ ¬ËŒ‚ƒ à…ŒÁË Íƒ ÍË ËœÁß…ÿ› parent ÿŸŒ à— ÁÍ áÍ…œŸì‚„



‚‡—Ÿ ÅÍ߃ à™‚–› Ü—
Sticky ÅŸ–ß›
123456789

ÿ‡œ‹ÍÕœ
ÞŸÁ ËÍß› ÍË ÁÍ Ëߊ ÍÕœ
:ËŸŸß˜ƒ ‚› àƒ Ã™Ô›

ÑÎÍÁ ‚ƒ ÿ™ŸŠ -
ÑÎÍÁ ‚ƒ -
ÑÎÍÁÿƒ -

ÿœ šßÔ ÿ™ŸŠ -
Ë‚œ› -
à‚…ß— -

ÿŠ… ÿ™ŸŠ -
Ãߙԛ -
Å‹Ÿœ ÿŠ… ÿ•‚— àÎÁËœÁ àƒ -


:Ý‚œ

:ÚŸœßÍ…—™Á Å‹„

: Å—ÍŒ Ý‚œ








Copyright 2001, Java World/International Data Group Inc./PC WORLD Iran. All rights reserved.