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

📄 alternativesmodel.java

📁 erp decision with ahp
💻 JAVA
字号:
// Graphical User Interfacepackage gui;//importsimport javax.swing.*;          //This is the final package name.//import com.sun.java.swing.*; //Used by JDK 1.2 Beta 4 and all//Swing releases before Swing 1.1 Beta 3.import javax.swing.border.*;import javax.swing.event.*;import javax.swing.table.*;import javax.swing.event.TableModelEvent;import java.awt.*;import java.awt.event.*;import java.util.*;import java.io.*;import java.net.*;import Jama.*;// Abstract Data Typeimport adt.*;/** * <code>AlternativesModel</code> the custom data model used by AlternativesTable (swing.Table) * @author  Maxime MORGE <A HREF="mailto:morge@emse.fr">morge@emse.fr</A>  * @version April 14, 2003 */public class AlternativesModel extends AbstractTableModel {    //ATTRIBUTS  private Hierarchy h; // the Decison Hierarchy  private JAHP window; // the main window  private AlternativesTable at;  // The table to reference  private Vector tableModelListeners = new Vector(); // The list of all listeners associated to this model  private int index; //index of the last deleted alternative  /**   * Creates a new  <code>AlternativesModel</code> instance.   * @param the decision <code>Hierarchy</code>   * @param the <code>AlternativeTable</code> to model   * @param the main <code>JAHP</code> window   */  public AlternativesModel(Hierarchy h,AlternativesTable at,JAHP window) {    this.h=h;    this.window=window;    this.at=at;    this.addTableModelListener(at);  }//////////////// Fire events ////////////////////////////////////////////////   public void tableChanged(TableModelEvent e){//     System.out.println("tableChanged event fired un AlternativesModels");//     System.out.println("NOT YET Implemented");//     int row = e.getFirstRow();//     int column = e.getColumn();//     String columnName = getColumnName(column);//     Object data = model.getValueAt(row, column);//     switch (e.getType()){//     //          Notifies all listeners that all cell values in the table's rows may have changed.  void       //     case (TableModelEvent.UPDATE) :      fireTableRowsUpdated(index,index);//       //Notifies all listeners that rows in the range [firstRow, lastRow], inclusive, have been deleted.  void//     case (TableModelEvent.DELETE) :     fireTableRowsDeleted(index,index);//     //Notifies all listeners that rows in the range [firstRow, lastRow], inclusive, have been inserted.  void//     case (TableModelEvent.INSERT) :      fireTableRowsInserted(h.getNb_alternatives()-1,h.getNb_alternatives()-1);//     }//   }  //////////////// TableModel interface implementation ///////////////////////    /**     * Adds a listener for the TreeModelEvent posted after the tree changes.     */    public void addTableModelListener(TableModelListener l) {        tableModelListeners.addElement(l);    }    /**     * Removes a listener previously added with addTreeModelListener().     */    public void removeTableModelListener(TableModelListener l) {      tableModelListeners.removeElement(l);    }  /**   * <code>getColumnClass</code> overide method here.   *   * @param int the index of the column   * @return String or Double method   */    public Class getColumnClass(int columnIndex) {    if (columnIndex==0) return String.class;    else return Double.class;  }  /**   * <code>getColumnName</code> overide method here.   *   * @param int the index of the column   * @return String the name of the column   */  public String getColumnName(int col) {     if (col==0) return "Name";    else return "Priority";    }  /**   * <code>getRowCount</code> overide method here.   *   * @return int the number of rows   */  public int getRowCount() { return h.getNb_alternatives(); }  /**   * <code>getColumnCount</code> overide method here.   *   * @return int the number of columns   */  public int getColumnCount() { return 2; }  /**   * <code>getValueAt</code> overide method here.   * @param int row index   * @param int column index   * @return int the number of columns   */  public Object getValueAt(int row, int col) {       Alternative alt=(Alternative)(h.getAlternatives()).get(row);      if (col==0) return alt.getName();      else return new Double((h.getGoal()).Jstar(row));  }    /**   * <code>isCellEditable</code> overide method here.   * @param int row index   * @param int column index   * @return boolean if the cell is editable   */  public boolean isCellEditable(int row, int col){    ListSelectionModel lsm = at.getSelectionModel();    int selectedRow = lsm.getMinSelectionIndex();    if (col==0 && row==selectedRow) return true;     else return false;  }  /**   * <code>isCellEditable</code> overide method here.   * @param int row index   * @param int column index   * @param  the Object value to set   */     public void setValueAt(Object value, int row, int col) {    Alternative alt=(Alternative)(h.getAlternatives()).get(row);    alt.setName((String) value);    window.updateaftermodifyALTERNATIVE();    //fireTableCellUpdated(row, col);    }  /**   * <code>addRow</code>  method to add a row in the Table Model.   */     public void addRow() {      Alternative alt=new Alternative();     h.addAlternative(alt);    at.tableChanged(new TableModelEvent(this, h.getNb_alternatives()-1,  h.getNb_alternatives()-1, javax.swing.event.TableModelEvent.ALL_COLUMNS, javax.swing.event.TableModelEvent.INSERT) );    fireTableRowsInserted(h.getNb_alternatives()-1,h.getNb_alternatives()-1);    window.updateafteraddALTERNATIVE(alt);  }  /**   * <code>removeRow</code>  method to delete a row in the Table Model.   * @param alt the <code>Alternative</code> should be deleted   */     public void removeRow(Alternative alt) {//last but not least    index = h.indexAlt(alt);    h.delAlternative(alt);    at.tableChanged(new TableModelEvent(this, index, index, javax.swing.event.TableModelEvent.ALL_COLUMNS, javax.swing.event.TableModelEvent.DELETE));    fireTableRowsDeleted(index,index);    window.updateafterdelALTERNATIVE();  }  /**   * <code>updateALTERNATIVE</code>  method to update the Model   */     public void updateALTERNATIVE(){    //Systemout.println("fireTableDataChanged");    for(int row=0;row<h.getNb_alternatives();row++) fireTableCellUpdated(row,2) ;    //fireTableRowsUpdated(0,h.getNb_alternatives()) ;      //fireTableDataChanged();   }}

⌨️ 快捷键说明

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