package com.dragome.render.serverside.swing;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.AbstractButton;
import com.dragome.guia.components.interfaces.VisualButton;
import com.dragome.guia.events.listeners.interfaces.ClickListener;
import com.dragome.render.canvas.CanvasImpl;
import com.dragome.render.canvas.interfaces.Canvas;
import com.dragome.render.html.renderers.Mergeable;
import com.dragome.render.interfaces.ComponentRenderer;
public class SwingVisualButtonRenderer implements ComponentRenderer<Object, VisualButton>
{
public Canvas<Object> render(final VisualButton visualButton)
{
CanvasImpl<Object> canvasImpl= new CanvasImpl<Object>();
canvasImpl.setContent(new Mergeable<Object>()
{
public void mergeWith(Object element)
{
AbstractButton abstractButton= (AbstractButton) element;
abstractButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
visualButton.getListener(ClickListener.class).clickPerformed(visualButton);
}
});
}
});
return canvasImpl;
}
}