logo

BorderLayout (LayoutManagers)

Java LayoutManagers

ה-LayoutManagers משמשים לסידור רכיבים בצורה מסוימת. ה Java LayoutManagers מאפשר לנו לשלוט במיקום ובגודל של הרכיבים בצורות GUI. LayoutManager הוא ממשק שמיושם על ידי כל מחלקות מנהלי הפריסה. יש את המחלקות הבאות המייצגות את מנהלי הפריסה:

  1. java.awt.BorderLayout
  2. java.awt.FlowLayout
  3. java.awt.GridLayout
  4. java.awt.CardLayout
  5. java.awt.GridBagLayout
  6. javax.swing.BoxLayout
  7. javax.swing.GroupLayout
  8. javax.swing.ScrollPaneLayout
  9. javax.swing.SpringLayout וכו'.

Java BorderLayout

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

    סופי סטטי ציבורי int NORTH גמר סטטי ציבורי בדרום הגמר הסטטי הציבורי int EAST הגמר הסטטי הציבורי int WEST ציבורי סטטי סופי int CENTER

בונים של כיתת BorderLayout:

    BorderLayout():יוצר פריסת גבול אך ללא פערים בין הרכיבים.BorderLayout(int hgap, int vgap):יוצר פריסת גבול עם הפערים האופקיים והאנכיים הנתונים בין הרכיבים.

דוגמה למחלקה BorderLayout: שימוש ב-BorderLayout() בנאי

שם קובץ: Border.java

 import java.awt.*; import javax.swing.*; public class Border { JFrame f; Border() { f = new JFrame(); // creating buttons JButton b1 = new JButton('NORTH');; // the button will be labeled as NORTH JButton b2 = new JButton('SOUTH');; // the button will be labeled as SOUTH JButton b3 = new JButton('EAST');; // the button will be labeled as EAST JButton b4 = new JButton('WEST');; // the button will be labeled as WEST JButton b5 = new JButton('CENTER');; // the button will be labeled as CENTER f.add(b1, BorderLayout.NORTH); // b1 will be placed in the North Direction f.add(b2, BorderLayout.SOUTH); // b2 will be placed in the South Direction f.add(b3, BorderLayout.EAST); // b2 will be placed in the East Direction f.add(b4, BorderLayout.WEST); // b2 will be placed in the West Direction f.add(b5, BorderLayout.CENTER); // b2 will be placed in the Center f.setSize(300, 300); f.setVisible(true); } public static void main(String[] args) { new Border(); } } 

תְפוּקָה:

שיעור BorderLayoutהורד את הדוגמה הזו

דוגמה למחלקה BorderLayout: שימוש בבנאי BorderLayout(int hgap, int vgap)

הדוגמה הבאה מוסיפה פערים אופקיים ואנכיים בין לחצנים באמצעות הבנאי BorderLayout (int hgap, int gap)

שם קובץ: BorderLayoutExample.java

 // import statement import java.awt.*; import javax.swing.*; public class BorderLayoutExample { JFrame jframe; // constructor BorderLayoutExample() { // creating a Frame jframe = new JFrame(); // create buttons JButton btn1 = new JButton('NORTH'); JButton btn2 = new JButton('SOUTH'); JButton btn3 = new JButton('EAST'); JButton btn4 = new JButton('WEST'); JButton btn5 = new JButton('CENTER'); // creating an object of the BorderLayout class using // the parameterized constructor where the horizontal gap is 20 // and vertical gap is 15. The gap will be evident when buttons are placed // in the frame jframe.setLayout(new BorderLayout(20, 15)); jframe.add(btn1, BorderLayout.NORTH); jframe.add(btn2, BorderLayout.SOUTH); jframe.add(btn3, BorderLayout.EAST); jframe.add(btn4, BorderLayout.WEST); jframe.add(btn5, BorderLayout.CENTER); jframe.setSize(300,300); jframe.setVisible(true); } // main method public static void main(String argvs[]) { new BorderLayoutExample(); } } 

תְפוּקָה:

שיעור BorderLayout

Java BorderLayout: ללא ציון אזור

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

שם קובץ: BorderLayoutWithoutRegionExample.java

 // import statements import java.awt.*; import javax.swing.*; public class BorderLayoutWithoutRegionExample { JFrame jframe; // constructor BorderLayoutWithoutRegionExample() { jframe = new JFrame(); JButton btn1 = new JButton('NORTH'); JButton btn2 = new JButton('SOUTH'); JButton btn3 = new JButton('EAST'); JButton btn4 = new JButton('WEST'); JButton btn5 = new JButton('CENTER'); // horizontal gap is 7, and the vertical gap is 7 // Since region is not specified, the gaps are of no use jframe.setLayout(new BorderLayout(7, 7)); // each button covers the whole area // however, the btn5 is the latest button // that is added to the frame; therefore, btn5 // is shown jframe.add(btn1); jframe.add(btn2); jframe.add(btn3); jframe.add(btn4); jframe.add(btn5); jframe.setSize(300,300); jframe.setVisible(true); } // main method public static void main(String argvs[]) { new BorderLayoutWithoutRegionExample(); } } 

תְפוּקָה:

שיעור BorderLayout