2012-02-09 19 views
0

ボタンを持つメインフレームがあります。Javaスイングダイアログフィールドをリセットし、キャンセルボタンをクリックすると閉じます

メインフレームのボタンがクリックされると、2つのボタンを持つカスタムダイアログボックスが表示されます(setVisible(true))。そのダイアログボックスには、テキストボックス、スピナー、ラジオボタンの束があります...そのダイアログのボタンの1つを「キャンセル」といいます。

キャンセルをクリックすると、すべてのフィールドがクリアされ/デフォルト値にリセットされてからダイアログが閉じます(setVisible(false))。

問題はラジオボタンをリセットせず、ダイアログがIllegalArumentExceptionのために日付をリセットしようとしたときに例外が発生するため(削除したため)例外が発生します。

NetBeansにもDateコントロールがありますか?私は修正されたモデルでスピナーを使用しますが、それは少し厄介です、それに、それは日付をリセットすることが難しくなりますか?

private void btnAcceptActionPerformed(java.awt.event.ActionEvent evt) { 

    String err = ""; 

    if(txtFirstName.getText() == "") 
     err += "First Name is required"; 
    if(txtLastName.getText() == "") 
     err += "Last Name is required"; 
    if(txtId.getText() == "") 
     err += "Id is required"; 

    javax.swing.JOptionPane.showMessageDialog(this.CreateReservation, err); 

} 

private void btnCancelActionPerformed(java.awt.event.ActionEvent evt) { 
    txtFirstName.setText(""); 
    txtLastName.setText(""); 
    spinAge.setValue(18); 
    txtId.setText(""); 
    radio1.setSelected(false); 
    radio2.setSelected(false); 
    DialogCustom.setVisible(false); 
} 
+0

すぐに役立つように、[SSCCE](http://sscce.org/)を投稿してください。 –

答えて

0

日付コントロール:JXDatePicker

をチェックアウト

デザインの問題:ダイアログを閉じたときに、なぜfiledsをリセット? 表示される前に適切な状態を設定してみませんか?

radio1.setSelected(false)はIMOを使用する必要があります。別の問題があるはずです。

+0

キャンセルは最後にsetVisible(false)を行うので、フィールドにあったデータはまだそこにあります。メインフレームのボタンをクリックしてダイアログを再アクティブ化します。 – Bob

関連する問題