package CHAPTER10;

import java.awt.BorderLayout;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;

public class C10_LAB03_SimpleToDoList extends JFrame {
    private DefaultListModel<String> listModel;

    public C10_LAB03_SimpleToDoList() {
        setTitle("할 일 목록");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(400, 300);
        setLocationRelativeTo(null);

        // 레이아웃 설정
        setLayout(new BorderLayout());

        // 목록 모델과 JList 생성
        listModel = new DefaultListModel<>();

        // 미리 정의된 할 일 추가
        listModel.addElement("할 일 1: 책 읽기");
        listModel.addElement("할 일 2: 코딩 연습");
        listModel.addElement("할 일 3: 운동하기");
        listModel.addElement("할 일 4: 저녁 준비");
        listModel.addElement("할 일 5: 이메일 확인");

        JList<String> toDoList = new JList<>(listModel);
        JScrollPane scrollPane = new JScrollPane(toDoList);
        add(scrollPane, BorderLayout.CENTER);

        // 입력 패널
        JPanel inputPanel = new JPanel();
        inputPanel.setLayout(new BorderLayout());

        JTextField taskField = new JTextField();
        taskField.setEditable(true);      
        JButton addButton = new JButton("추가");
        addButton.setEnabled(true);    
        JButton removeButton = new JButton("제거");
        removeButton.setEnabled(true); 

        inputPanel.add(taskField, BorderLayout.CENTER);
        inputPanel.add(addButton, BorderLayout.EAST);
        inputPanel.add(removeButton, BorderLayout.WEST);

        add(inputPanel, BorderLayout.SOUTH);

        setVisible(true);
    }

    public static void main(String[] args) {
        new C10_LAB03_SimpleToDoList();
    }
}

