<활동 목표>
Todo List 화면 구현
- 학기 중 배운 내용 참고
성취도 시각화 관련 코드 구상
<활동 내역>
private void addItem() {
String text = inputTextField.getText().trim();
if(text.isEmpty()) return;
ToDoItem item = new ToDoItem(text);
items.add(item);
centerPanel.add(item);
inputTextField.setText("");
centerPanel.revalidate();
centerPanel.repaint();
}
학기 중의 수업에서는 일의 우선 순위를 정하여 할 일을 등록할 수 있었고 겹치는 할 일이 있으면 뜨지 않도록 하였으나,
실사용자의 특성상 겹치는 일을 등록할 일이 적을 것 같고 우선 순위 기능이 있어도 사용 빈도가 낮을 것으로 예상되어 그 부분은 빼고 참고하였다.
checkBox.addActionListener(e -> {
if(checkBox.isSelected())
textLabel.setForeground(Color.GRAY);
else
textLabel.setForeground(Color.BLACK);
});
이런 식으로 완료한 일의 체크박스를 누르면 글자가 회색으로 변하여 끝낸 일과 아닌 일을 더 보기 쉽게 만들었다.



단어를 추가하고, 체크 표시를 하여 완료한 일을 알 수 있게 한다.
나중에 FINISH! 버튼을 누르면 체크된 일들이 한번에 없어지는 것을 볼 수 있다.
성취도 시각화를 위해서는 슬라이드나 포도알 스티커 채우기와 같이 눈에 보이는 차이가 있어야 한다고 생각했다.
동글동글한 포도알을 여러개 만들어 놓고 TodoList에 있는 체크 박스를 누를 때마다 포도알을 채울 수 있는 수가 늘어나면 좋을 것 같으나, 구현 가능 범위 및 구현했을 때의 UI를 보고 수정하게 될 수 있다고 보았다.
<느낀점&배운점>
오랜만에 해보니까 기억이 가물가물했다.
그래도 과제로 했던 코드들을 다시 보고 기억을 되짚어보며 필요한 부분들을 하나하나 채워가니 뭐라도 만들어지는 듯 하다.
또한, 큰 의미는 없더라도 UI와 관련되어서 더 예쁜 UI를 만들고 싶어 고심하는 과정이 은근 재밌는 것 같다.