MetalModExample.java Source code

Java tutorial

Introduction

Here is the source code for MetalModExample.java

Source

//An example of modifying an existing L&F. 
//This example replaces thestandard scrollbar UI with a custom one.
//

import java.awt.Container;
import java.awt.GridLayout;
import java.io.FileReader;
import java.io.IOException;

import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.UIManager;

public class MetalModExample {
    public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
        } catch (Exception e) {
            System.err.println("Metal is not available on this platform?!");
            System.exit(1);
        }
        JComponent before = makeExamplePane();

        UIManager.put("ScrollBarUI", "MyMetalScrollBarUI");

        JComponent after = makeExamplePane();

        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        Container c = f.getContentPane();
        c.setLayout(new GridLayout(2, 1, 0, 1));
        c.add(before);
        c.add(after);
        f.setSize(450, 400);
        f.setVisible(true);
    }

    public static JComponent makeExamplePane() {
        JTextArea text = new JTextArea();
        try {
            text.read(new FileReader("MetalModExample.java"), null);
        } catch (IOException ex) {
        }

        JScrollPane scroll = new JScrollPane(text);
        return scroll;
    }
}