הדפסה עם AWT and Swing
תוכנית הדגמה תוך שימוש במתודה printAll
מטרת תוכנית זו היא להדגים את היכולת להציג את הרכיבים במיכל AWT, שהוא מיכל ברמה העליונה (top-level container) , או שהוא משובץ בתוך מיכלAWT אחר. אף על פי שיישום זה פועל רק עם רכיבי AWT, מקווים כי ניתן יהיה לגרום לו לפעול עם רכיבי Swing ברגע שיטפלו בכל הבאגים ב Swing וב- JDK. תוכנית זו מציבה אחד מתוך שני אובייקטים של Panel הניתנים לבחירה, וארבעה אובייקטים של Button, באובייקט Frame. לאחד מהלחצנים יש מאזין (listener) הגורם להצגת ה- Panel הנבחר הנוכחי וכל הרכיבים שה Panel מכיל. (ראה הערה למטה לגבי הצגת ה- Panel).
ללחצן אחר יש listener הגורם להצגת ה- Frame החיצוני ביותר ולכל המרכיבים שה-Frame מכיל. למעשה, ב- JDK 1.1.6 תחת Win95 , ה- Frame עצמו אינו מוצג. רק התכנים שלו מוצגים. נראה כאילו זה סותר את המפרטים למתודה printAll() בתיעוד של JavaSoft המתאר את המתודה printAll() באופן הבא:
" מציגה את הרכיב הזה ואת כל רכיבי המשנה שלו."
אותם דברים נכונים כנראה גם לגבי ה- Panel, אך ל- Panel אין מרכיבים ייחודיים כלשהם שבאמצעותם ניתן יהיה לראות אם הוא מוצג או לא. לשני הלחצנים המוזכרים לעיל יש למעשה את אותו אובייקט listener, אך התוצאה הסופית היא כפי שתואר לעיל.
שני הלחצנים האחרים משמשים לבחירה בין שני אובייקטי Panel שונים. במילים אחרות, המשתמש יכול לבחור בין שני פנלים שונים ולגרום להצגת הפנל שנמצא באותו הזמן ב- Frame. כאשר ה- Panel הנבחר מוצג, מתעלמים מהרכיבים האחרים שב- Frame. כאשר מוצג ה- Frame, מוצגים כל הרכיבים שב- Frame, כולל ה- Panel שנמצא בו באותו הזמן.
לשם המחשה בלבד, אחד מאובייקטי ה- Panel הניתן לבחירה מכיל Lable, TextField, ו- Button שאינו פעיל.
ה- Panel השני הניתן לבחירה מכיל Lable, TextField, ושני אובייקטי Button שאינם פעילים.
תוכנית זו נבחנה באמצעות JDK 1.1.6 תחת Win95