কম্পিউটার টিউটোরিয়াল

জাভাতে Font এবং FontMetrics-এর মধ্যে পার্থক্য কী?

একটি Font ক্লাস স্ক্রিন ফন্ট সেট করতে ব্যবহৃত হয় এবং এটি ভাষার ক্যারেক্টারগুলো তাদের রেসপেক্টিভ গ্লিফসের সাথে ম্যাপ করে, যেখানে একটি FontMetrics ক্লাস একটি ফন্ট মেট্রিক্স অবজেক্ট সংজ্ঞায়িত করে, যা একটি নির্দিষ্ট স্ক্রিনে একটি নির্দিষ্ট ফন্টের রেন্ডারিং সম্পর্কে তথ্য এনক্যাপসুলেট করে।

Font

একটি Font ক্লাস একটি Font অবজেক্ট-এর ইনস্ট্যান্স তৈরি করতে ব্যবহৃত হয় যাতে টেক্সট আঁকতে, লেবেল, টেক্সট ফিল্ড, বাটন ইত্যাদির জন্য ফন্ট সেট করা যায় এবং এটি এর নাম, স্টাইল, এবং আকার-এর দ্বারা নির্দিষ্ট করা যায়।

ফন্টগুলোর একটি ফ্যামিলি নাম, একটি লজিক্যাল নাম এবং একটি ফেস-নাম থাকে

  • ফ্যামিলি নাম: এটি ফন্টের সাধারণ নাম, যেমন Courier।
  • লজিক্যাল নাম: এটি ফন্টের একটি ক্যাটাগরি নির্দিষ্ট করে, যেমন Monospaced।
  • ফেস নাম: এটি একটি নির্দিষ্ট ফন্ট নির্দিষ্ট করে, যেমন Courier Italic।

উদাহরণ

import java.awt.*; 
import javax.swing.*; 

public class FontTest extends JPanel { 
    public void paint(Graphics g) { 
        g.setFont(new Font("TimesRoman", Font.BOLD, 15)); 
        g.setColor(Color.blue); 
        g.drawString("Welcome to Tutorials Point", 10, 20); 
    } 
    
    public static void main(String args[]) { 
        JFrame test = new JFrame(); 
        test.getContentPane().add(new FontTest()); 
        test.setTitle("Font Test"); 
        test.setSize(350, 275); 
        test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        test.setLocationRelativeTo(null); 
        test.setVisible(true); 
    } 
}

আউটপুট

জাভাতে Font এবং FontMetrics-এর মধ্যে পার্থক্য কী?

FontMetrics

FontMetrics ক্লাস একটি নির্দিষ্ট Font অবজেক্টের জন্য নির্দিষ্ট প্যারামিটার রিটার্ন করতে ব্যবহৃত হয়। FontMetrics ক্লাসের একটি অবজেক্ট getFontMetrics() মেথড ব্যবহার করে তৈরি করা হয়। FontMetrics ক্লাসের মেথডগুলো একটি Font অবজেক্টের ইমপ্লিমেন্টেশন বিস্তারিত অ্যাক্সেস প্রদান করে। bytesWidth(), charWidth(), charsWidth(), getWidth(), এবং stringWidth() মেথডগুলো পিক্সেলে একটি টেক্সট অবজেক্টের প্রস্থ নির্ধারণ করতে ব্যবহৃত হয়। এই মেথডগুলো স্ক্রিনে টেক্সটের অনুভূমিক অবস্থান নির্ধারণের জন্য অপরিহার্য।

উদাহরণ

import java.awt.*; 
import javax.swing.*; 

public class FontMetricsTest extends JPanel { 
    public void paint(Graphics g) { 
        String msg = "Tutorials Point"; 
        Font f = new Font("Times New Roman",Font.BOLD|Font.ITALIC, 15); 
        FontMetrics fm = getFontMetrics(f); 
        g.setFont(f); 
        int x =(getSize().width-fm.stringWidth(msg))/2; 
        System.out.println("x= "+x); 
        int y = getSize().height/2; 
        System.out.println("y= "+y); 
        g.drawString(msg, x, y); 
    } 
    
    public static void main(String args[]){ 
        JFrame test = new JFrame(); 
        test.getContentPane().add(new FontMetricsTest()); 
        test.setTitle("FontMetrics Test"); 
        test.setSize(350, 275); 
        test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        test.setLocationRelativeTo(null); 
        test.setVisible(true); 
    } 
}

আউটপুট

জাভাতে Font এবং FontMetrics-এর মধ্যে পার্থক্য কী?

  1. জাভাতে JRadioButton এবং JCheckBox-এর পার্থক্য কী?

  2. জাভাতে JTextField এবং JTextArea-এর পার্থক্য কী?

  3. জাভাতে JFrame এবং JDialog-এর পার্থক্য কী?

  4. জাভাতে GridLayout এবং GridBagLayout-এর পার্থক্য কী?