正方形の周長 #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にそれを設定し直す。