JLabel হল JComponent ক্লাসের সাবক্লাস এবং JLabel-এর একটি অবজেক্ট GUI-তে টেক্সট ইনস্ট্রাকশন বা ইনফরমেশন প্রদান করে। একটি JLabel সিঙ্গল লাইন রিড-অনলি টেক্সট, একটি ইমেজ বা টেক্সট এবং ইমেজ উভয় ডিসপ্লে করতে পারে। একটি JLabel স্পষ্টভাবে PropertyChangeListener ইন্টারফেস জেনারেট করতে পারে।
ডিফল্টভাবে JLabel হরিজেন্টাল পজিশনে টেক্সট দেখায় এবং আমরা Graphics2D ক্লাসের rotate() মেথড paintComponent()-এর ভেতরে ইমপ্লিমেন্ট করে JLabel টেক্সট ঘুরিয়ে দিতে পারি।
সিনট্যাক্স
public abstract void rotate(double theta, double x, double y)
উদাহরণ
import java.awt.*; import java.awt.geom.*; import javax.swing.*; public class RotateJLabelTest extends JFrame { public RotateJLabelTest() { setTitle("Rotate JLabel"); JLabel label = new RotateLabel("TutorialsPoint"); add(label, BorderLayout.CENTER); setSize(400, 300); setDefaultCloseOperation(EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } private class RotateLabel extends JLabel { public RotateLabel(String text) { super(text); Font font = new Font("Verdana", Font.ITALIC, 10); FontMetrics metrics = new FontMetrics(font){}; Rectangle2D bounds = metrics.getStringBounds(text, null); setBounds(0, 0, (int) bounds.getWidth(), (int) bounds.getHeight()); } @Override public void paintComponent(Graphics g) { Graphics2D gx = (Graphics2D) g; gx.rotate(0.6, getX() + getWidth()/2, getY() + getHeight()/2); super.paintComponent(g); } } public static void main(String[] args) { new RotateJLabelTest(); } }
আউটপুট
