正方形の周長 #27

SquareParametersPaneとJLabelでSquareの情報を共有するアプレットを作ってみる。

SquareApplet.java
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.BorderFactory;
import javax.swing.JApplet;
import javax.swing.JLabel;

public class SquareApplet extends JApplet {
    public SquareApplet() {
        Square s = new Square();
        setLayout(new FlowLayout());
        add(new SquareParametersPane(s));
        add(newLabel(s));
        s.setSide(0);
    }

    private JLabel newLabel(Square s) {
        final JLabel label = new JLabel();
        label.setBorder(BorderFactory.createTitledBorder(SquareParametersRes.get("gui.side.label")));
        label.setPreferredSize(new Dimension(100, 50));
        s.addSquareListener(new SquareListener() {
            public void squareChanged(SquareEvent e) {
                label.setText(String.valueOf(((Square)e.getSource()).getSide()));
            }
        });
        return label;
    }
}