正方形の周長 #2

この話題における目的や目標は設定していない。
思いつくままにお気楽にソースを弄っていくだけなので、
飽きたりして投げ出す可能性も含めて最終的にどうなるか分からない。

とりあえず数値でないものが入力されたときにエラーを吐かないように修正。

...snip
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JTextField side = new JTextField("0");
        f.add(side, BorderLayout.NORTH);
...snip
    public void actionPerformed(ActionEvent e) {
        try {
            peri.setText(String.valueOf(Double.parseDouble(((JTextField)e.getSource()).getText()) * 4));
        } catch (NumberFormatException ex) {
            ((JTextField)e.getSource()).setText(String.valueOf(Double.parseDouble(peri.getText()) / 4));
        }
    }
...snip

JTextFieldに入力された文字列を数値に変換できずNumberFormatException例外が投げられた場合に、
JLabelの方に設定されていた周の長さから辺の長さを計算し、JTextFieldにそれを設定し直す。