package com.tddinaction.swing.mvp.pv; import java.awt.Color; import java.awt.Component; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JPanel; import com.tddinaction.swing.mvp.common.RunButtonListener; public class GreenBarViewImpl extends JPanel implements GreenBarPassiveView { private RunButtonListener listener; private JPanel bar; public GreenBarViewImpl() { add(createRunButton()); add(createBar()); } private Component createRunButton() { JButton button = new JButton("Run"); button.setName("run_button"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { listener.onRunButtonClick(); } }); return button; } private Component createBar() { bar = new JPanel(); bar.setName("bar"); bar.add(Box.createRigidArea(new Dimension(200, 20))); return bar; } public void setBarColor(Color color) { bar.setBackground(color); bar.setForeground(color); } public void addRunButtonListener(RunButtonListener listener) { this.listener = listener; } }