⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tasklistpane.java

📁 一个用于安排项目时间表的Java程序
💻 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 + -