import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.*; import java.util.List; public class Frame extends JFrame implements ActionListener { JFrame window; JButton addTask; JTextField taskName; JPanel taskAddPanel, taskDisplayPanel; DefaultListModel activeTasks; JList activeTaskDisplay; JScrollPane scrollPane; Frame() { window = new JFrame("To Do app"); window.setLayout(new BorderLayout()); activeTasks = new DefaultListModel<>(); addTask = new JButton("Add Task"); taskName = new JTextField(10); taskAddPanel = new JPanel(); taskDisplayPanel = new JPanel(); activeTaskDisplay = new JList(); scrollPane = new JScrollPane(); activeTaskDisplay.setVisible(true); taskAddPanel.add(taskName); taskAddPanel.add(addTask); scrollPane.setViewportView(activeTaskDisplay); activeTaskDisplay.setLayoutOrientation(JList.VERTICAL); taskDisplayPanel.add(scrollPane); addTask.addActionListener(this); window.add(taskAddPanel, BorderLayout.NORTH); window.add(taskDisplayPanel, BorderLayout.CENTER); window.setMinimumSize(new Dimension(800,600)); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setVisible(true); } @Override public void actionPerformed(ActionEvent e) { if(e.getSource() == addTask) { if(taskName.getText() != null && !taskName.getText().isEmpty()) { activeTaskDisplay.setModel(activeTasks); activeTasks.addElement(new Task(taskName.getText())); System.out.println("dupa"); } } } } //TASK CLASS public class Task { String name; private boolean isFinished; Task(String name) { this.name = name; isFinished = false; } boolean isFinished() { return isFinished; } void finish() { isFinished = true; } }