פורסם 2010 ביולי 1815 שנים ערב טוביש לי קומבובוקס המכיל אובייקטים מסוג צבע.כל רכיב מופיע כקוד הצבע שלו. לדוגמה לבן מופיע כjava.awt.Color[r=255,g=255,b=255]יש דרך לשנות את הטקסט שמופיע כך שבמקום הקוד יופיע פשוטwhite?בתודה מראש
פורסם 2010 ביולי 1815 שנים ברור. במקום לשים בתוך ה-comboBox את הצבעים עצמם, תגדיר אובייקט חדש ש"עוטף" את הצבע, ותדאג שפונקציית ה-ToString שלו תחזיר מה שאתה רוצה.
פורסם 2010 ביולי 1815 שנים לכל מחלקה בג'אווה יש פונקציה בשם toString, שמחזירה ייצוג של האובייקט כמחרוזת.ה-comboBox מציג ברשימה את ה-toString של כל האובייקטים שבו.עבור המחלקה java.awt.Color, הפונקציה toString מחזירה את המחרוזת שנראית ככה, ולכן זה מה שאתה רואה.על מנת להציג איזו מחרוזת שאתה רוצה, אתה צריך להגדיר בעצמך מחלקה שתעטוף את ה-java.awt.Color (או תירש ממנו), ותדרוך על הפונקציה toString שלו באופן מתאים. כלומר, הפונקציה יכולה לבדוק - אם הצבע שווה ל-java.awt.Color.white אז היא תחזיר "white", אם הוא שווה ל-java.awt.Color.red אז היא תחזיר "red" וכו'. אפשר לשמור את המיפויים המתאימים בין צבע למחרוזת באמצעות HashMap וככה לחסוך עבודה. דרך קצת יותר חכמה לעשות את זה היא באמצעות Enum, אם אתה מכיר את הנושא.
פורסם 2010 ביולי 1815 שנים מחבר מצטער, זה עדיין לא ברור לי.אני יודע איך ליצור Enum אבל איך אני משתמש בו לעניין הזה?אני הרי לא יכול להכניס את השדות של ה Enum לקומבובוקס.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.