Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เราจะนำเส้นขอบต่าง ๆ ไปใช้โดยใช้ BorderFactory ใน Java ได้อย่างไร


โรงงานชายแดน เป็น โรงงาน คลาสซึ่งมีเส้นขอบประเภทต่างๆ ใน ​​Java

ประเภทของเส้นขอบ

  • BevelBorder :เส้นขอบนี้วาด ยกขึ้น หรือ ลดลง ขอบเอียง
  • EmptyBorder :ไม่วาดรูปแต่กินพื้นที่
  • สลักขอบ :ขอบสลักล่าง ทำให้มีลักษณะเป็นสี่เหลี่ยมและขอบนูนแบบยกขึ้น ดูเหมือนพื้นผิวของหน้าจอ
  • LineBorder :วาดสี่เหลี่ยมธรรมดารอบๆ ส่วนประกอบ เราสามารถระบุสีและความกว้างของเส้นใน LineBorder ตัวสร้าง
  • MatteBorder :เราสามารถสร้าง MatteBorder ด้วยสีที่แน่นอนและระบุขนาดของเส้นขอบที่ซ้าย , บน ขวา และล่าง ของส่วนประกอบ MatteBorder ยังช่วยให้เราสามารถส่งไอคอนที่จะใช้ในการวาดเส้นขอบ นี่อาจเป็นรูปภาพ (ImageIcon) หรือการใช้งานอื่น ๆ ของ ไอคอน อินเทอร์เฟซ
  • TitledBorder :เส้นขอบปกติที่มีชื่อเรื่อง A TitledBorder ไม่ได้วาดเส้นขอบจริงๆ มันแค่ดึงชื่อเรื่องร่วมกับวัตถุขอบอื่น เส้นขอบประเภทนี้มีประโยชน์อย่างยิ่งสำหรับการจัดกลุ่มชุดควบคุมต่างๆ ในอินเทอร์เฟซที่ซับซ้อน
  • เส้นขอบส่วนประกอบ: เส้นขอบที่มีเส้นขอบอีกสองเส้นขอบ สิ่งนี้มีประโยชน์อย่างยิ่งหากเราต้องการใส่องค์ประกอบใน EmptyBorder แล้วใส่ของตกแต่งรอบๆ เช่น EtchedBorder หรือ MatteBorder .

ตัวอย่าง

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class BorderFactoryMain {
   public static void main(String[] args) {
      SwingUtilities.invokeLater(run);
   }
   static Runnable run = new Runnable() {
      @Override
      public void run() {
         BorderFactoryTest test;
         test = new BorderFactoryTest();
         test.setVisible(true);
      }
   };
   public static class BorderFactoryTest extends JFrame {
      public BorderFactoryTest() {
         setTitle("BorderFactory Test");
         setSize(350, 400);
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         setLayout(new FlowLayout());
         add(createBorderedPanel(BorderFactory.createRaisedBevelBorder(),       "createRaisedBevelBorder()"));
         add(createBorderedPanel(BorderFactory.createBevelBorder(BevelBorder.LOWERED), "createBevelBorder(BevelBorder.LOWERED)"));
         add(createBorderedPanel(BorderFactory.createBevelBorder(BevelBorder.RAISED), "createBevelBorder(BevelBorder.RAISED)"));
         add(createBorderedPanel(BorderFactory.createCompoundBorder(BorderFactory.
         createBevelBorder(BevelBorder.RAISED),BorderFactory.createBevelBorder(BevelBorder.LOWERED)),
         "createCompoundBorder(RAISED, LOWERED)"));
         add(createBorderedPanel(BorderFactory.createEtchedBorder(), "createEtchedBorder()"));
         add(createBorderedPanel(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED),       "createEtchedBorder(EtchedBorder.LOWERED)"));
         add(createBorderedPanel(BorderFactory.createEtchedBorder(EtchedBorder.RAISED), "createEtchedBorder(EtchedBorder.RAISED)"));
         add(createBorderedPanel(BorderFactory.createEtchedBorder(Color.lightGray, Color.yellow), "createEtchedBorder(Color.lightGray, Color.yellow)"));
         add(createBorderedPanel(BorderFactory.createLineBorder(Color.red), "createLineBorder(Color.red)"));
         add(createBorderedPanel(BorderFactory.createLineBorder(Color.blue, 5), "createLineBorder(Color.blue, 5)"));
         add(createBorderedPanel(BorderFactory.createDashedBorder(null), "createDashedBorder(null)"));
         setLocationRelativeTo(null);
      }
   }
   private static JPanel createBorderedPanel(Border b, String name) {
      JLabel label = new JLabel(name);
      JPanel panel = new JPanel();
      panel.setBorder(b);
      panel.add(label);
      return panel;
   }
}

ผลลัพธ์

เราจะนำเส้นขอบต่าง ๆ ไปใช้โดยใช้ BorderFactory ใน Java ได้อย่างไร