שאלה ב2D Graphics ב- JAVA

aroosa

New member
שאלה ב2D Graphics ב- JAVA

שלום לכולם אני חדש בג'אווה, מישהו יכול לתת הסבר קצר/דוגמא לציור צורות/קווים פשוטים בג'אווה ? או לכוון אותי לאיזה מדריך 2D נורמלי ? תודה חבר'ה.
 
דוגמה קטנה

import java.awt.*; import java.applet.*; public class Paint extends Applet{ public void paint(Graphics g){ g.drawLine(10, 10, 20, 10); g.drawRect(30, 30, 10, 10); g.fillRect(30, 60, 10, 10); } }
 

aroosa

New member
איך אני קורא לה ?

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

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

aroosa

New member
אבל...

אני לא בונה אפלט אלא application משל עצמו... פתחתי חלון ואני רוצה לצייר בתוכו.
 
frame?

אם ב"חלון" אתה מתכוון שעשית frame- אז צריך להיות לו גם כן את המתודה paint, כמו שכתבתי לך בדוגמה. אל תשכח ליבא את ספריית awt שכוללת את מה שקשור לציור.
 

aroosa

New member
שאלה

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

Pembelton

New member
הנה תכנית קצרה

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

Pembelton

New member
אתה צריך להחליט איפה התכנית שלך

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

aroosa

New member
אז ככה

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

Pembelton

New member
אז בשביל לצייר על החלון הזה

אתה צריך להוסיף לו אלמנט מסוג JPanel. בדוגמא שפרסמתי יצרתי אלמנט כזה (תסתכל על המשתנה jp) ודרסתי את מתודת ה paintComponent() שלו. אם יש לך כבר חלון אז: א. תוסיף לו אלמנט JPanel, ב. תדרוס את paintComponent()
 

Pembelton

New member
יש עוד כל מיני שיטות בשביל שאפשר

יהיה לצייר על חלון, אבל לטעמי זאת הטבעית והנוחה ביותר (ומתאימה כמעט לכל המקרים)
 
למעלה