איך לצייר משולשים ב-Java

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

שלב 1

ייבא את חבילות Graphics, Point ו-Polygon awt וחבילות JFrame ו-JPanel swing. הקוד עובר לפני השיעור הראשון של התוכנית שלך ונראה כך:

סרטון היום

ייבוא ​​java.awt. גרָפִיקָה; ייבוא ​​java.awt. נְקוּדָה; ייבוא ​​java.awt. מְצוּלָע; ייבוא ​​javax.swing. JFrame; ייבוא ​​javax.swing. JPanel;

שלב 2

צור את מחלקת המשולש שלך והרחיב את מחלקת JPanel כך שניתן יהיה להציג את המשולש על מסך. הקוד שלך אמור להיראות כך, אם כי אתה יכול לתת לתוכנית שלך את השם של מה שתרצה:

מחלקה ציבורית TriangleShape מרחיבה את JPanel {

}

שלב 3

תעקוף את שיטת paintComponent במחלקה הראשית שלך. ההוראות ש-Java משתמשת בהן כדי לצייר את המשולש נמצאות בשיטה זו. הקוד נראה כך, למרות שאתה יכול לתת שמות לסוגי הנתונים איך שתרצה:

public void paintComponent (Graphics g) { super.paintComponent (g);

אורך ממד = this.getSize(); נקודה p1 = נקודה חדשה (size.width / 3, (2 * size.height) / 3); נקודה p2 = נקודה חדשה (size.width / 2, size.height / 3); Point p3 = new Point((2 * size.width) / 3, (2 * size.height) / 3); int[] x = { p1.x, p2.x, p3.x }; int[] y = { p1.y, p2.y, p3.y }; משולש מצולע = מצולע חדש (x, y, x.length);

הנקודות p1, p2 ו-p3 מגדירות את קודקודי המשולש. מערכי int[] והמשולש מסוג Polygon יוצרים את רגלי המשולש. קוד זה נכנס לסוגריים של המחלקה הראשית שלך.

שלב 4

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

public static void main (String[] args) {

TriangleShape t = new TriangleShape(); JFrame frame = new JFrame(); frame.getContentPane().add (t); frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.setSize (100, 100); frame.show();

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