ThreadsPanel.java :  » Image » jchannel » org » jchannel » client » ui » view » Java Open Source

Java Open Source » Image » jchannel 
jchannel » org » jchannel » client » ui » view » ThreadsPanel.java
package org.jchannel.client.ui.view;

import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;

import java.util.List;

import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.DecoratorPanel;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Panel;

import org.jchannel.client.state.ThreadState;

import org.jchannel.server.entity.Thread;

public final class ThreadsPanel extends Composite {

  private Panel panel;

  public ThreadsPanel() {
    panel = new FlowPanel();
    panel.setStyleName("threadsPanel");

    this.initWidget(panel);

    ThreadState.INSTANCE.addPropertyChangeListener("threads", new ThreadsListener());
  }

  private final class ThreadsListener implements PropertyChangeListener {

    @Override
    public void propertyChange(final PropertyChangeEvent event) {
      panel.clear();

      List<Thread> threads = (List<Thread>) event.getNewValue();

      if (threads.isEmpty()) {
        panel.add(new Label("no threads found"));
      } else {
        for (final Thread thread : threads) {
          panel.add(new ThreadPanel(thread));
        }
      }
    }
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.