1

いくつかの異なるテキスト フィールド、コンボ ボックスなどがあります。手動で行わずに (プログラムを開いた直後のように) それらをすべて既定値にリセットしたい..xField.text = ""などなど。

4

1 に答える 1

2

手動で実行せずに、すべてをデフォルトにリセットしたい(プログラムを開いたばかりのように)。

手動で行う必要がありますが、コードを少し整理することで簡単にすることができます。

たとえば、JTextComponents を に配置し、ArrayList<JTextComponent>同様のタイプの他のすべてのコンポーネントを独自の List に配置することもできます。次に、resetAll()作成するメソッドで、これらすべてのリストを繰り返し処理して、すべてのコンポーネントをリセットします。

つまり、

public void reset() {
  // for all JTextFields and JTextAreas
  for (JTextComponent textComponent: textComponentList) {
    textComponent.setText(""); 
  }

  // for all JCheckBoxes and JRadioButtons
  for (JToggleButton toggleButton: toggleButtonList) {
    toggleButton.setSelected(false);
  }

  // iterate through other lists doing likewise
}

もう 1 つの方法はお勧めしませんが、GUI のすべてのコンポーネントを再帰的に調べて、instanceof を介して型を取得し、型に基づいてコンポーネントを設定することです。

于 2013-06-09T18:39:58.100 に答える