Component Theming এবং Styling

Look and Feel এবং Theming - এডাব্লিউটি (AWT) - Java Technologies

201

AWT (Abstract Window Toolkit) হলো Java এর একটি GUI (Graphical User Interface) লাইব্রেরি যা ডেস্কটপ অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। AWT এর মাধ্যমে আপনি বিভিন্ন ধরনের ইউজার ইন্টারফেস উপাদান তৈরি করতে পারেন, যেমন বোতাম (Button), টেক্সটফিল্ড (TextField), প্যানেল (Panel) ইত্যাদি। এই উপাদানগুলির স্টাইলিং বা থিমিং করা AWT তে কিছুটা সীমিত, তবে কিছু মৌলিক পদ্ধতিতে এগুলি কাস্টমাইজ করা সম্ভব।

এখানে, আমরা AWT এ কিভাবে বিভিন্ন কম্পোনেন্ট থিমিং এবং স্টাইলিং করতে পারি, তা আলোচনা করব।


AWT Components এর স্টাইলিং

AWT কম্পোনেন্টগুলো প্রধানত সিস্টেম ডিফল্ট থিম অনুসরণ করে, এবং এর স্টাইলিং অনেকটা সীমিত। তবে, কিছু পদ্ধতি ব্যবহার করে AWT কম্পোনেন্টের স্টাইল এবং থিম কাস্টমাইজ করা যেতে পারে।

১. কম্পোনেন্টের ব্যাকগ্রাউন্ড এবং ফরগ্রাউন্ড রং পরিবর্তন

AWT কম্পোনেন্টের ব্যাকগ্রাউন্ড (Background) এবং ফরগ্রাউন্ড (Foreground) রং পরিবর্তন করা সহজ। আপনি setBackground(Color c) এবং setForeground(Color c) পদ্ধতি ব্যবহার করে রং পরিবর্তন করতে পারেন।

import java.awt.*;
import java.awt.event.*;

public class ThemingExample extends Frame {
    
    ThemingExample() {
        Button b = new Button("Click Me");
        b.setBackground(Color.GREEN);  // ব্যাকগ্রাউন্ড রং পরিবর্তন
        b.setForeground(Color.RED);    // ফরগ্রাউন্ড রং পরিবর্তন
        
        add(b);
        
        setSize(300, 200);
        setLayout(new FlowLayout());
        setVisible(true);
    }
    
    public static void main(String[] args) {
        new ThemingExample();
    }
}

২. Font পরিবর্তন

AWT কম্পোনেন্টগুলির ফন্ট স্টাইল পরিবর্তন করা যেতে পারে setFont(Font f) পদ্ধতির মাধ্যমে। এটি কম্পোনেন্টে প্রদর্শিত টেক্সটের ফন্ট, আকার এবং শৈলী কাস্টমাইজ করতে ব্যবহৃত হয়।

import java.awt.*;
import java.awt.event.*;

public class FontStylingExample extends Frame {
    
    FontStylingExample() {
        Button b = new Button("Styled Button");
        b.setFont(new Font("Arial", Font.BOLD, 16));  // ফন্ট স্টাইল পরিবর্তন
        
        add(b);
        
        setSize(300, 200);
        setLayout(new FlowLayout());
        setVisible(true);
    }
    
    public static void main(String[] args) {
        new FontStylingExample();
    }
}

৩. Customizing Components with Borders

AWT তে সরাসরি কম্পোনেন্টের জন্য বর্ডার তৈরি করা সম্ভব নয়, তবে javax.swing.border প্যাকেজের সাহায্যে এটি করা যেতে পারে। আপনি LineBorder, TitledBorder, ইত্যাদি ব্যবহার করে কম্পোনেন্টে বর্ডার অ্যাড করতে পারেন।

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

public class BorderExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame();
        JButton button = new JButton("Click Me");
        
        // বর্ডার অ্যাড করা
        button.setBorder(new LineBorder(Color.BLUE, 5));
        
        frame.add(button);
        frame.setSize(300, 200);
        frame.setLayout(new FlowLayout());
        frame.setVisible(true);
    }
}

৪. AWT কম্পোনেন্টে ইভেন্ট এবং কাস্টম রেসপন্স

AWT কম্পোনেন্টগুলোকে আরও ইন্টারেকটিভ এবং স্টাইলিশ করতে, আপনি বিভিন্ন ইভেন্ট হ্যান্ডলার ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যখন একটি বোতাম ক্লিক করা হয় তখন তার রং বা আকার পরিবর্তন করতে পারেন।

import java.awt.*;
import java.awt.event.*;

public class ButtonEventExample extends Frame {
    
    ButtonEventExample() {
        Button b = new Button("Click Me");
        
        // বোতাম ক্লিক হলে রং পরিবর্তন
        b.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                b.setBackground(Color.YELLOW);
            }
        });
        
        add(b);
        
        setSize(300, 200);
        setLayout(new FlowLayout());
        setVisible(true);
    }
    
    public static void main(String[] args) {
        new ButtonEventExample();
    }
}

৫. Look and Feel Customization

AWT এর নিজস্ব লুক এবং ফিল সীমিত হলেও, আপনি Swing লাইব্রেরি ব্যবহার করে আরও উন্নত Look and Feel কাস্টমাইজেশন করতে পারেন। Swing ব্যবহার করলে আপনি GUI উপাদানগুলির লুক এবং ফিল আরও ভালোভাবে কাস্টমাইজ করতে পারবেন।


সারাংশ

AWT কম্পোনেন্টের থিমিং এবং স্টাইলিং কিছুটা সীমিত হলেও, কিছু মৌলিক কাস্টমাইজেশন করা সম্ভব। setBackground, setForeground, setFont ইত্যাদি পদ্ধতি ব্যবহার করে কম্পোনেন্টের রং, ফন্ট এবং অন্যান্য বৈশিষ্ট্য পরিবর্তন করা যায়। এছাড়াও, Swing লাইব্রেরি ব্যবহার করে উন্নত থিমিং এবং কাস্টমাইজেশন করা সম্ভব। AWT এর মাধ্যমে মৌলিক থিমিং এবং স্টাইলিং করা হলেও, জাভার আধুনিক UI লাইব্রেরি যেমন Swing বা JavaFX অধিক কাস্টমাইজেশন সুবিধা প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...