📄 resourceseditor.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.util.Iterator;import java.util.Vector;import javax.swing.JButton;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.event.TableModelEvent;import javax.swing.event.TableModelListener;import javax.swing.table.TableModel;import jgantt.Messages;import jgantt.model.Resource;import jgantt.view.adapters.ProjectViewModel;/** * Resources * * <p>$Date: 2005/03/25 14:58:31 $</p> * @version $Revision: 1.7 $ * @author Carlos Silva */public class ResourcesEditor extends JPanel implements ActionListener { private static final long serialVersionUID = 3258416118745019443L; JTable jtable ; ResourceModel resModel; String CMD_DELETE = "Delete resource"; String CMD_ADD = "Add resource"; String CMD_CLOSE = "Close"; Window mainWindow = null; /** * Constructor for TaskEditor */ public ResourcesEditor(Window parent, ProjectViewModel model) { super(); mainWindow = parent; resModel = new ResourceModel(model); jtable = new JTable(resModel); JScrollPane js = new JScrollPane(jtable); jtable.getColumnModel().getColumn(0).setMinWidth(20); jtable.getColumnModel().getColumn(1).setMinWidth(50); jtable.getColumnModel().getColumn(2).setMinWidth(50); jtable.getColumnModel().getColumn(3).setMinWidth(150); jtable.getColumnModel().getColumn(0).setMaxWidth(30); jtable.getColumnModel().getColumn(1).setMaxWidth(70); jtable.getColumnModel().getColumn(2).setMaxWidth(70); JPanel buttons = new JPanel(); JButton jb = new JButton(CMD_ADD); jb.addActionListener(this); buttons.add(jb); jb = new JButton(CMD_DELETE); jb.addActionListener(this); buttons.add(jb); if (mainWindow != null) { jb = new JButton(CMD_CLOSE); jb.addActionListener(this); buttons.add(jb); } setLayout(new BorderLayout()); add(js, BorderLayout.CENTER); add(buttons, BorderLayout.NORTH); } /** * Eventos de botones */ public void actionPerformed(ActionEvent ev) { String cmd = ev.getActionCommand(); if (cmd.equals(CMD_ADD)) { new Resource(resModel.pvm.getProject()); resModel.fireTableChanged(); } else if (cmd.equals(CMD_DELETE)) { int row = jtable.getSelectedRow(); Resource res = (Resource) resModel.pvm.getProject().getResources().get(row); res.remove(); resModel.fireTableChanged(); } else if (cmd.equals(CMD_CLOSE)) { mainWindow.dispose(); } } static class ResourceModel implements TableModel { String cn[] = { Messages.getString("ResourcesTable.col.id"), Messages.getString("ResourcesTable.col.alias"), Messages.getString("ResourcesTable.col.initials"), Messages.getString("ResourcesTable.col.name")}; ProjectViewModel pvm; public ResourceModel(ProjectViewModel model) { pvm = model; Vector v = model.getProject().getResources(); } Vector listeners=new Vector(); public void addTableModelListener(TableModelListener listener) { listeners.add(listener); } public void fireTableChanged(){ for (Iterator i = listeners.iterator(); i.hasNext();){ TableModelListener listener = (TableModelListener) i.next(); TableModelEvent ev = new TableModelEvent(this); listener.tableChanged(ev); } } public Class getColumnClass(int i) { return String.class; } public int getColumnCount() { return cn.length; } public String getColumnName(int c) { return cn[c]; } public int getRowCount() { return pvm.getProject().getResources().size(); } public Object getValueAt(int i, int j) { Resource r = (Resource) pvm.getProject().getResources().get(i); switch (j) { case 0 : return String.valueOf(r.getId()); case 1 : return r.getAlias(); case 2 : return r.getInitials(); case 3 : return r.getName(); } return null; } public boolean isCellEditable(int i, int j) { return j > 0; } public void removeTableModelListener(TableModelListener listener) { listeners.remove(listener); } public void setValueAt(Object val, int i, int j) { String value = (String) val; Resource r = (Resource) pvm.getProject().getResources().get(i); switch (j) { case 1 : r.setAlias(value); break; case 2 : r.setInitials(value); break; case 3 : r.setName(value); break; } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -