📄 tasklistpane.java
字号:
/* * $Id: TaskListPane.java,v 1.1.1.1 2001/03/20 22:17:42 mastermitch Exp $ * * 2001 (C) by Christian Garbs <mitch@uni.de> * * Licensed under GNU GPL (see COPYING for details) * */package de.cgarbs.apps.jprojecttimer;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Enumeration;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.ListSelectionModel;/** This pane displays the list of tasks. Tasks may be added, edited or deleted. * * @author Christian Garbs <mitch@cgarbs.de> */public class TaskListPane extends JPanel implements ActionListener{ final static String NEW_BUTTON = "new"; final static String EDIT_BUTTON = "edit"; final static String DEL_BUTTON = "del"; /** */ JTable table; /** */ TaskList tasks; /** */ JFrame gui; /** */ TaskListTableModel model; /** */ TaskListPane(JFrame gui, Project project) { super(new BorderLayout()); this.tasks = project.getTaskList(); this.gui = gui; JButton add; JButton del; JButton edit; model = new TaskListTableModel(tasks); table = new JTable(model); table.getColumnModel().getColumn(0).setPreferredWidth(50); table.getColumnModel().getColumn(1).setPreferredWidth(250); table.getColumnModel().getColumn(2).setPreferredWidth(50); table.getColumnModel().getColumn(3).setPreferredWidth(150); table.getColumnModel().getColumn(4).setPreferredWidth(35); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); JScrollPane scrollPane = new JScrollPane(table); add(scrollPane, BorderLayout.CENTER); JPanel c = new JPanel(); add = new JButton(Resource.get("newTask")); add.setActionCommand(NEW_BUTTON); add.addActionListener(this); edit = new JButton(Resource.get("editTask")); edit.setActionCommand(EDIT_BUTTON); edit.addActionListener(this); del = new JButton(Resource.get("deleteTask")); del.setActionCommand(DEL_BUTTON); del.addActionListener(this); c.add(add); c.add(edit); c.add(del); add(c, BorderLayout.SOUTH); } /** */ public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals(NEW_BUTTON)) { int row = tasks.size(); TaskList dependencies = new TaskList(); if (! tasks.isEmpty()) { dependencies.addElement(tasks.lastElement()); } Task t = new Task (dependencies); tasks.addElement(t); new TaskEditDialog(gui, tasks, row); model.fireTableRowsInserted(row, row); } else if (e.getActionCommand().equals(EDIT_BUTTON)) { int row = table.getSelectedRow(); if (row > -1) { new TaskEditDialog(gui, tasks, row); model.fireTableRowsUpdated(row, row); } } else if (e.getActionCommand().equals(DEL_BUTTON)) { int row = table.getSelectedRow(); if (row > -1) { Task t = (Task) tasks.elementAt(row); for (Enumeration enu = tasks.elements(); enu.hasMoreElements(); ) { ((Task) enu.nextElement()).getDependencies().removeElement(t); } tasks.removeElement(t); model.fireTableRowsDeleted(row, row); } } } public void refresh() { model.fireTableDataChanged(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -