今回はパネルの中身を書き換える方法を紹介していきます。パネルを書き換えるメソッドパネルに入っているコンポーネントを取り除くには、panel.remove(コンポーネント)とします。コンポーネントを全て取り除くには、panel.removeAll()とします。コンポーネントのレイアウト等を変更した際に再描画したい場合は,.revalidate()を使います。(コンテナのサイズを変更した場合などは、.repaint()も併用する必要があるようです)アプリへの実装まず最初に、目標とするアプリの挙動を示しておきます。タスクtest1のチェックボックスが選択されている状態で、更新ボタンを押すと、、、タスクtest1が完了状態になり、タスク一覧に表示されなくなります。todayTasks,tomorrowTasks,scheduleTasks,somedayTasks,doneTasks;を追加します。前回作成したviewメソッドもListを返すように変更します。getterメソッドも作成します。パネル書き換え部の実装viewメソッドの引数に「”Today”」「”Tomorrow”」などのアクションコマンドを追加しておきます。updateのアクションに追加します。update.setActionCommand(cmd);更新ボタンにActionListenerを追加しましょう。今回は、DoneListenerというクラスを作成します。DoneListener());//DoneListnerの作成//第30回変更パネルの中身を一旦削除するためにViewメソッドの最初にremoveAll()を書きます。panel.removeAll();パネルの更新を促すために、Viewメソッドの最後にrevalidate()を追加します。次に、DoneListenerを作成していきます。cmdに基づいて、TaskViewのリストを取得し、チェックボタンが付いているタスクが未完了状態だったら、そのタスクを完了状態にします。properties.put(PropertyName.FINISH.toString(),true);全てのTaskViewを捜査したら、mainFrame内のAcitonPerformedメソッドを呼び出して、パネルの更新を促します。コードを見てみましょう。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト上に表示された文字を入力してください。©プログラミング初心者がアプリ開発を目指すブログ。