» נושאי לימוד
» נושאי לימוד
יום שני 29 באפריל 2024
תוכנית לדוגמא
דף ראשי  מתקדמים  Event Handling in JDK 1.1, Handling Events in Lightweight Components  תוכנית לדוגמא גרסה להדפסה

 

תכנית לדוגמא

 

תכנית זו מעוצבת להיות מלוקטת ומורצת תחת 1.1 JDK . המטרה של תכנית זו היא להמחיש את היצירה ואת השימוש ברכיבים קלי משקל.

ישנם שני היבטים עיקריים ליצירה ולשימוש ברכיבים קלי משקל:

 עשיית הרכיבים כך שיחיו ויעבדו בתוך המערכת.

 עשיית הרכיבים כך שייראו וירגישו כפי שאתה רוצה שהם ייראו וירגישו.

ההיבט הראשון כרוך במאפיינים לא-גרפיים של הרכיב. למעשה, הרכיב יכול להיות רכיב לגמרי לא-ויזואלי (כרכיב שעון-עצר, למשל) כאן אנו מתייחסים לנושאים כגון: ירושה, תחזוקת אירועים וכו'. זה מכניס אותנו לתחום טיפוסי אובייקטים אשר עליהם נערך דיון בשיעור מוקדם יותר- "אירועים המחוללים ע"י תכנית".

ההיבט השני בראש ובראשונה עוסק בהיבטים החזותיים (גרפיים) של הרכיב. מאחר ולא דנו בגרפיקה באיזו שהיא רמה ניכרת עד לנקודה זו בשיעורים אלה, לא נכנס להיבטים הגרפיים של רכיבים קלי משקל גם בשיעור זה. במקום זה נעכב דיון מפורט של ההיבטים הגרפיים עד לשיעור מאוחר יותר אשר בו נדון בגרפיקה באופן כללי.

השיעור יתרכז בהיבטים לא גרפיים של רכיבים קלי משקל. רבים מהמושגים של היבט זה של רכיבים קלי משקל כוסו בשיעור הקודם על "אירועים המחוללים ע"י תכנית". חיוני ביותר שתבין  מידע זה לפני טיפול בשיעור זה.

שיעור זה הוא קודם כל פרשנות ודיון של תכנית המבוססת בכבדות על תכנית הדוגמא של   "הכפתור העגול"  בתיעוד 1.1 JDK אשר הנה הנכס האינטלקטואלי של Sun Microsystems.

בפועל, תכנית זו יוצרת ומתמרנת רכיב ויזואלי קל משקל -מחלקה הנקראת LWButton.

תכנית זו נבחנה תוך שימוש ב1.1.3 JDK תחת חלונות 95.

class LWButton extends Component {
  Declare instance variables:
    label //self-explanatory
    pressed //toggles true or false when LWButton is pressed
    actionListener //refers to a list of registered ActionListener objects

  LWButton();//constructs an LWButton with no label
  LWButton(String);//constructs an LWButton with a label
  
  //Add to or remove from a list of registered ActionListener objects
  public void addActionListener(ActionListener listener)
  public void removeActionListener(ActionListener listener)

  //Prepare to modify the appearance of the LWButton object and 
  // dispatch an ActionEvent object when the LWButton is pressed by 
  // the user. Invoke repaint() method.
  public void processMouseEvent(MouseEvent e)
  
  //Set the label after LWButton is instantiated
  public void setLabel(String label) 
  
  //Overridden paint method deals with the appearance of the LWButton
  // based on whether it is currently "pressed" or "not pressed".
  public void paint(Graphics g)
  
  //This method is supposed to determine if a mouse event is inside the
  // LWButton component.  However, as of 3/21/97, there is a vertical 
  // offset error in the Win95 implementation of JDK 1.1 and this method
  // returns true if the mouse is outside but below the object.  It
  // returns false if the mouse is inside near the top of the object.
  // Otherwise, it seems to work OK.
  // NOTE: THE PROBLEM DESCRIBED ABOVE SEEMS TO HAVE BEEN RESOLVED IN
  // JDK 1.1.3.

  public boolean contains(int x, int y)
  
  //Provide preferred size and minimum size of LWButton
  public Dimension getPreferredSize()
  public Dimension getMinimumSize() 

}//end class LWButton

 

 31-10-03 / 13:57  נוצר ע"י רונית רייכמן  בתאריך 
 Event Handling in JDK 1.1, Handling Events in Lightweight Components - הקודםהבא - קטעי קוד מעניינים 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 3