package com.e2u.gc.weakref;
import java.awt.BorderLayout;
import javax.swing.border.TitledBorder;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
public class MessageConsume extends JPanel
{
private String id = null;
private JTextArea textArea = new JTextArea();
// just for consume big memory
private double[] data = new double[1000000];
private MessageListener l = new MessageListener()
{
public void recevied(final String message)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
textArea.append(message + "\n");
}
});
}
};
public MessageConsume(String id)
{
this.id = id;
this.setBorder(new TitledBorder(id));
this.setLayout(new BorderLayout());
this.add(textArea, BorderLayout.CENTER);
MessagePublisher.addMessageListener(l);
}
public void finalize()
{
System.out.println(id + " is finalized");
}
}