正方形の周長 #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; } }