Java Applets
אהלן. כתבתי ישומון שיש בו כפתור שבלחיצה עליו אני רוצה לנקות את כל מה שיש על הישומון ולצייר עליו באמצעות אובייקט Graphics. הבעיה היא שאני לא מצליח לצייר כמו שצריך בכל מקום למעט במתודה paint. הנה האפשרויות שניסיתי: 1. לבצע remove לכל האובייקטים ואז לצייר באמצעות getGraphics(). מה שקרה זה שהיישומון לא התנקה והציורים הופיעו על הישומון עם כל מה שהיה בו קודם. במקרה זה אחרי שממזערים את היישומון או סתם מזיזים אותו מחוץ למסך ובחזרה הוא מתנקה לגמרי. 2. להוסיף אובייקט Canvas שיכסה את כל מה שיש על הישומון ואז לצייר עליו או על הישומון. היישומון התנקה והציורים הופיעו, אבל איך שאני מזיז את העכבר הציורים נעלמים. 3. לקרוא ל-repaint() ואח"כ לצייר. אני רואה לשבריר שניה את הציורים ומייד כל הישומון מתנקה. ניסיתי גם לשים wait ארוך בין ה-repaint() לפקודות הציור, אבל התוצאה לא השתנתה. מה שבסוף עשיתי זה לשים את כל פקודות הציור במתודה paint() ולהתנות את הציור באיזה דגל כדי שזה לא יתבצע בהתחלה. בארוע הלחיצה אני משנה את הדגל וקורא ל-repaint(). זה עובד יופי (הישומון מתנקה והציורים החדשים נשארים) אבל זה נראה לי מאוד מעוות - מה אם היה לי אלגוריתם מסובך יותר? אין דרך לצייר נורמלי מחוץ ל-paint()? תודה לעונים.
אהלן. כתבתי ישומון שיש בו כפתור שבלחיצה עליו אני רוצה לנקות את כל מה שיש על הישומון ולצייר עליו באמצעות אובייקט Graphics. הבעיה היא שאני לא מצליח לצייר כמו שצריך בכל מקום למעט במתודה paint. הנה האפשרויות שניסיתי: 1. לבצע remove לכל האובייקטים ואז לצייר באמצעות getGraphics(). מה שקרה זה שהיישומון לא התנקה והציורים הופיעו על הישומון עם כל מה שהיה בו קודם. במקרה זה אחרי שממזערים את היישומון או סתם מזיזים אותו מחוץ למסך ובחזרה הוא מתנקה לגמרי. 2. להוסיף אובייקט Canvas שיכסה את כל מה שיש על הישומון ואז לצייר עליו או על הישומון. היישומון התנקה והציורים הופיעו, אבל איך שאני מזיז את העכבר הציורים נעלמים. 3. לקרוא ל-repaint() ואח"כ לצייר. אני רואה לשבריר שניה את הציורים ומייד כל הישומון מתנקה. ניסיתי גם לשים wait ארוך בין ה-repaint() לפקודות הציור, אבל התוצאה לא השתנתה. מה שבסוף עשיתי זה לשים את כל פקודות הציור במתודה paint() ולהתנות את הציור באיזה דגל כדי שזה לא יתבצע בהתחלה. בארוע הלחיצה אני משנה את הדגל וקורא ל-repaint(). זה עובד יופי (הישומון מתנקה והציורים החדשים נשארים) אבל זה נראה לי מאוד מעוות - מה אם היה לי אלגוריתם מסובך יותר? אין דרך לצייר נורמלי מחוץ ל-paint()? תודה לעונים.