Java Swing हमें लुक एंड फील (L&F) बदलकर GUI को कस्टमाइज़ करने की अनुमति देता है। लुक घटकों की सामान्य उपस्थिति को परिभाषित करता है और फील उनके व्यवहार को परिभाषित करता है। L&Fs LookAndFeel क्लास के सबक्लास हैं और प्रत्येक L&F की पहचान इसके पूरी तरह से योग्य क्लास नाम से होती है। डिफ़ॉल्ट रूप से, L&F Swing L&F (Metal L&F) पर सेट होता है।
L&F को प्रोग्रामेटिक रूप से सेट करने के लिए, हम UIManager क्लास के setLookAndFeel() मेथड को कॉल कर सकते हैं। setLookAndFeel का कॉल किसी भी Java Swing क्लास को इंस्टेंटिएट करने से पहले किया जाना चाहिए, अन्यथा डिफ़ॉल्ट Swing L&F लोड हो जाएगा।
सिंटैक्स
public static void setLookAndFeel(LookAndFeel newLookAndFeel) throws UnsupportedLookAndFeelException
उदाहरण
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class LookAndFeelTest extends JFrame implements ActionListener { private JRadioButton windows, metal, motif; private ButtonGroup bg; public LookAndFeelTest() { setTitle("Look And Feels"); windows = new JRadioButton("Windows"); windows.addActionListener(this); metal = new JRadioButton("Metal"); metal.addActionListener(this); motif = new JRadioButton("Motif"); motif.addActionListener(this); bg = new ButtonGroup(); bg.add(windows); bg.add(metal); bg.add(motif); setLayout(new FlowLayout()); add(windows); add(metal); add(motif); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } @Override public void actionPerformed(ActionEvent ae) { String LAF; if(ae.getSource() == windows) LAF = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"; else if(ae.getSource() == metal) LAF = "javax.swing.plaf.metal.MetalLookAndFeel"; else LAF = "com.sun.java.swing.plaf.motif.MotifLookAndFeel"; try { UIManager.setLookAndFeel(LAF); SwingUtilities.updateComponentTreeUI(this); } catch (Exception e) { System.out.println("Error setting the LAF..." + e); } } public static void main(String args[]) { new LookAndFeelTest(); } }आउटपुट


