TreeChangedRenderer.java Source code

Java tutorial

Introduction

Here is the source code for TreeChangedRenderer.java

Source

/*
Definitive Guide to Swing for Java 2, Second Edition
By John Zukowski       
ISBN: 1-893115-78-X
Publisher: APress
*/

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultTreeCellRenderer;

public class TreeChangedRenderer {
    public static void main(String args[]) {
        JFrame frame = new JFrame("Changed Renderer");
        JTree tree = new JTree();
        DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer) tree.getCellRenderer();

        renderer.setFont(new Font("Dialog", Font.BOLD | Font.ITALIC, 32));
        int rowHeight = tree.getRowHeight();
        if (rowHeight <= 0) {
            tree.setRowHeight(rowHeight - 1);
        }

        // Swap background colors
        Color backgroundSelection = renderer.getBackgroundSelectionColor();
        renderer.setBackgroundSelectionColor(renderer.getBackgroundNonSelectionColor());
        renderer.setBackgroundNonSelectionColor(backgroundSelection);

        // Swap text colors
        Color textSelection = renderer.getTextSelectionColor();
        renderer.setTextSelectionColor(renderer.getTextNonSelectionColor());
        renderer.setTextNonSelectionColor(textSelection);

        JScrollPane scrollPane = new JScrollPane(tree);
        frame.getContentPane().add(scrollPane, BorderLayout.CENTER);
        frame.setSize(300, 150);
        frame.setVisible(true);
    }
}