samples/deadlock/src/org/apidesign/deadlock/LabelProviderSyncOnTreeLock.java
changeset 105 5c7a65ed657a
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/samples/deadlock/src/org/apidesign/deadlock/LabelProviderSyncOnTreeLock.java	Sat Jun 14 09:54:29 2008 +0200
     1.3 @@ -0,0 +1,26 @@
     1.4 +package org.apidesign.deadlock;
     1.5 +
     1.6 +import java.util.HashSet;
     1.7 +import java.util.logging.Level;
     1.8 +import java.util.logging.Logger;
     1.9 +import javax.swing.JLabel;
    1.10 +import javax.swing.JPanel;
    1.11 +
    1.12 +public class LabelProviderSyncOnTreeLock extends JPanel {
    1.13 +    private static Logger LOG = Logger.getLogger(LabelProviderSyncOnTreeLock.class.getName());
    1.14 +    
    1.15 +    // BEGIN: deadlock.provider.treelock
    1.16 +    private HashSet<JLabel> allCreated = new HashSet<JLabel>();
    1.17 +
    1.18 +    public JLabel createLabel () {
    1.19 +        synchronized (getTreeLock()) {
    1.20 +            LOG.log(Level.INFO, "Will create JLabel");
    1.21 +            JLabel l = new JLabel ();
    1.22 +            LOG.log(Level.INFO, "Label created {0}", l);
    1.23 +            allCreated.add (l);
    1.24 +            return l;
    1.25 +        }
    1.26 +    }
    1.27 +    // END: deadlock.provider.treelock
    1.28 +
    1.29 +}