Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;

import java.awt.Component;
import java.awt.Container;
import java.awt.event.MouseListener;

import java.util.Arrays;

import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import javax.swing.JComponent;

public class Main {
    public static void restoreMouseListeners(final Map<Component, List<MouseListener>> map, final JComponent root) {
        for (final Component c : getAllSubComponents(root)) {
            List<MouseListener> listeners = map.get(c);
            if (listeners != null)
                for (final MouseListener ml : map.get(c)) {
                    c.addMouseListener(ml);
                }
        }
    }

    public static JComponent[] getAllSubComponents(Container root) {
        List<JComponent> comps = new LinkedList<JComponent>();
        for (Component c : root.getComponents()) {
            try {
                comps.add((JComponent) c);
                comps.addAll(Arrays.asList(getAllSubComponents((JComponent) c)));
            } catch (final ClassCastException e) {
                continue;
            }
        }
        return comps.toArray(new JComponent[comps.size()]);
    }
}