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

📄 taskeditor.java

📁 方便大家也方便自己啊。
💻 JAVA
字号:
/** *   Copyright 2004 Carlos Silva A. *  *   Licensed under the Apache License, Version 2.0 (the "License"); *   you may not use this file except in compliance with the License.  *   You may obtain a copy of the License at   *  *   http://www.apache.org/licenses/LICENSE-2.0 *  *   Unless required by applicable law or agreed to in writing, software *   distributed under the License is distributed on an "AS IS" BASIS, *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *   See the License for the specific language governing permissions and *   limitations under the License. *  */package jgantt.view.dialogs;import java.awt.BorderLayout;import java.awt.Window;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.FocusEvent;import java.awt.event.FocusListener;import java.util.Date;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTabbedPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.border.TitledBorder;import jgantt.Messages;import jgantt.model.Project;import jgantt.model.Task;import jgantt.view.LabeledPairLayout;import jgantt.view.adapters.ProjectViewModel;import jgantt.view.adapters.ProjectViewModelChange;import jgantt.view.adapters.ProjectViewModelListener;import com.csa.lib.swing.DateField;/** * TaskEditor edita una tarea Task. *  * @version $Header: /cvs/java/App_JGantt/source/jgantt/view/dialogs/TaskEditor.java,v 1.25 2005/07/05 04:33:53 csilva Exp $ * @author Carlos Silva */public class TaskEditor	extends JTabbedPane	implements ActionListener, ProjectViewModelListener {	private static final long serialVersionUID = 3257845493651814197L;	TitledBorder border;	JTextField taskName;	JTextField taskLength;	DateField taskNotBefore;	JTextField taskComments;	JTextField taskCompleted;		JTextArea taskNotes;		Project project = null;	ProjectViewModel pvModel;	/**	 * Constructor for TaskEditor	 */	public TaskEditor(Window parent, ProjectViewModel model) {		super();				assignViewModel(model);		pvModel.addListener (this);		addTab(Messages.getString("TaskEditor.tab.main.label"), null, makePrincipalPanel(), Messages.getString("TaskEditor.tab.main.hint")); //$NON-NLS-1$ //$NON-NLS-2$				addTab(Messages.getString("TaskEditor.tab.notes.label"), null, makeNotesPanel(), Messages.getString("TaskEditor.tab.notes.hint")); //$NON-NLS-1$ //$NON-NLS-2$		currentTaskChanged(pvModel.getCurrentTask(), null);		if (parent != null)			new RemoveObservers(parent, pvModel, this, null);	}			/**	 * Panel de notas	 * @return	 */	JPanel makeNotesPanel() {		JPanel panel = new JPanel();				panel.setLayout(new BorderLayout());		taskNotes=new JTextArea(5,30);		panel.add(new JScrollPane(taskNotes));		taskNotes.addFocusListener(new FocusListener(){			public void focusGained(FocusEvent arg0) {			}			public void focusLost(FocusEvent arg0) {				Task task = pvModel.getCurrentTask();				task.setNotes(taskNotes.getText());			}		});		return panel;	}		/**	 * Panel principal	 * @return	 */	JPanel makePrincipalPanel() {		JPanel panel = new JPanel();				panel.setLayout(new LabeledPairLayout());		panel.add(new JLabel(Messages.getString("TaskEditor.taskName.label"), JLabel.RIGHT), LabeledPairLayout.LABEL); //$NON-NLS-1$		panel.add(new JLabel(Messages.getString("TaskEditor.length.label"), JLabel.RIGHT), LabeledPairLayout.LABEL); //$NON-NLS-1$		panel.add(new JLabel(Messages.getString("TaskEditor.dontStart.label"), JLabel.RIGHT), LabeledPairLayout.LABEL); //$NON-NLS-1$		panel.add(new JLabel(Messages.getString("TaskEditor.comments.label"), JLabel.RIGHT), LabeledPairLayout.LABEL); //$NON-NLS-1$		panel.add(new JLabel(Messages.getString("TaskEditor.completed.label"), JLabel.RIGHT), LabeledPairLayout.LABEL); //$NON-NLS-1$				taskName = new JTextField(15);		taskLength = new JTextField(5);		taskNotBefore = new DateField(project.getViewOptions().editDateFormat);		taskComments = new JTextField(15);		taskCompleted = new JTextField(5);		panel.add(taskName, LabeledPairLayout.FIELD);		panel.add(taskLength, LabeledPairLayout.FIELD);		panel.add(taskNotBefore, LabeledPairLayout.FIELD);		panel.add(taskComments, LabeledPairLayout.FIELD);		panel.add(taskCompleted, LabeledPairLayout.FIELD);		taskName.addActionListener(this);		taskLength.addActionListener(this);		taskComments.addActionListener(this);		taskCompleted.addActionListener(this);		taskNotBefore.addActionListener(this);		return panel;	}	/**	 * cambios en los controles. 	 */	public void actionPerformed(ActionEvent event) {		//System.out.println("inputMethodTextChanged source="+event.getSource().getClass().getName());		Object src = event.getSource();		Task task = pvModel.getCurrentTask();		//System.out.println("actionPerformed " + event.getSource());		if (src == taskName) {			task.setName(taskName.getText());		} else if (src == taskLength) {			try {				task.setLength(Integer.parseInt(taskLength.getText()));			} catch (Exception e) {			}		} else if (src == taskCompleted) {			try {				task.setCompleted(Integer.parseInt(taskCompleted.getText()));			} catch (Exception e) {			}		} else if (src == taskNotBefore) {			try{				task.setNotBeforeDate(taskNotBefore.getDate());							} catch (Exception e) {				System.out.println("setfecha nop:" + e);			}		}		if (src == taskComments) {			task.setComments(taskComments.getText());		}	}	public void currentTaskChanged(Task currentTask, Task oldTask) {		if (currentTask == null)			return;		//System.out.println(getClass().getName()+"::currentTaskChanged");		taskName.setText(currentTask.getName());		taskLength.setText("" + currentTask.getLength());		taskCompleted.setText("" + currentTask.getCompleted());		taskComments.setText("" + currentTask.getComments());				taskNotes.setText(currentTask.getNotes());		taskLength.setEnabled(!currentTask.isResume());		taskNotBefore.setEnabled(!currentTask.isResume());		Date d = currentTask.getNotBeforeDate();		if (d != null) {			taskNotBefore.setDate(d);		} else			taskNotBefore.setDate(null);	}		/**	 * Atiende nuevos proyectos cargados	 */	public void assignViewModel(ProjectViewModel pvm) {			pvModel = pvm;		project = pvm.getProject();		}			/**	 * Eventos del modelo	 * @see jgantt.view.adapters.ProjectViewModelListener#projectChanged(jgantt.view.adapters.ProjectViewModelChange)	 */	public void viewModelChanged(ProjectViewModelChange c) {		switch(c.getId()){		case ProjectViewModelChange.NEW_PROJECT_LOADED:			assignViewModel(c.getProjectViewModel());			// fall into current Task Changed		case ProjectViewModelChange.CURRENT_TASK_CHANGED:			currentTaskChanged(pvModel.getCurrentTask(), null);		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -