正方形の周長 #28

Squareの情報を表示するコンポーネントだけでなく、
Squareに値を設定するコンポーネントも加えてみる。

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JLabel;

public class SquareApplet extends JApplet {
    public SquareApplet() {
...snip
        add(newLabel(s));
        add(newButton(s));
        s.setSide(0);
    }
...snip

    private JButton newButton(final Square s) {
        JButton b = new JButton(SquareParametersRes.get("gui.increment.label"));
        b.setBorder(BorderFactory.createTitledBorder(SquareParametersRes.get("gui.perimeter.label")));
        b.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                s.setPerimeter(s.getPerimeter() + 1);
            }
        });
        return b;
    }
}