/* * Copyright (c) 2000-2002 Canoo Engineering AG, Switzerland. */ package todolist; import com.ulcjava.base.application.AbstractApplication; import com.ulcjava.base.application.DefaultListModel; import com.ulcjava.base.application.ULCBoxPane; import com.ulcjava.base.application.ULCButton; import com.ulcjava.base.application.ULCComponent; import com.ulcjava.base.application.ULCFrame; import com.ulcjava.base.application.ULCList; import com.ulcjava.base.application.ULCTextField; import com.ulcjava.base.application.event.ActionEvent; import com.ulcjava.base.application.event.IActionListener; import com.ulcjava.base.application.util.BorderedComponentUtilities; import com.ulcjava.base.development.DevelopmentRunner; public class MyToDoList extends AbstractApplication { public static void main(String args[]) { DevelopmentRunner.setApplicationClass(MyToDoList.class); DevelopmentRunner.run(); } public void start() { ULCTextField editField = new ULCTextField(); ULCComponent borderedEditField = BorderedComponentUtilities.createBorderedComponent(editField, "To Do Item"); DefaultListModel listModel = new DefaultListModel(); ULCList list = new ULCList(listModel); ULCComponent borderedList = BorderedComponentUtilities.createBorderedComponent(list, "To Do List"); ULCButton addButton = new ULCButton("Add"); addButton.addActionListener(new AddEntryAction(listModel, editField)); addButton.setEnabler(editField); ULCButton removeButton = new ULCButton("Remove"); removeButton.addActionListener(new RemoveEntryAction(listModel, list)); removeButton.setEnabler(list.getSelectionModel()); ULCBoxPane buttonBox = new ULCBoxPane(false); buttonBox.add(ULCBoxPane.BOX_CENTER_CENTER, addButton); buttonBox.add(ULCBoxPane.BOX_CENTER_CENTER, removeButton); ULCBoxPane rootBox = new ULCBoxPane(true); rootBox.add(ULCBoxPane.BOX_EXPAND_TOP, borderedEditField); rootBox.add(ULCBoxPane.BOX_EXPAND_EXPAND, borderedList); rootBox.add(ULCBoxPane.BOX_CENTER_CENTER, buttonBox); ULCFrame frame = new ULCFrame("ULC ToDoList Sample"); frame.setDefaultCloseOperation(ULCFrame.TERMINATE_ON_CLOSE); frame.add(rootBox); frame.setVisible(true); } static class AddEntryAction implements IActionListener { DefaultListModel fListModel; ULCTextField fEditField; public AddEntryAction(DefaultListModel listModel, ULCTextField editField) { fListModel = listModel; fEditField = editField; } public void actionPerformed(ActionEvent actionEvent) { fListModel.add(fEditField.getText()); } } static class RemoveEntryAction implements IActionListener { DefaultListModel fListModel; ULCList fList; public RemoveEntryAction(DefaultListModel listModel, ULCList list) { fListModel = listModel; fList = list; } public void actionPerformed(ActionEvent actionEvent) { if (fList.getSelectedIndex() != -1) { fListModel.remove(fList.getSelectedIndex()); } } } }