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

📄 projectstablepanel.java

📁 Memoranda( 从前以jNotes2而闻名) 是一个日志管理和个人项目管理工具
💻 JAVA
字号:
package net.sf.memoranda.ui;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Component;import java.awt.Dimension;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.table.AbstractTableModel;import javax.swing.table.TableCellRenderer;import javax.swing.table.TableColumn;import net.sf.memoranda.CurrentProject;import net.sf.memoranda.Project;import net.sf.memoranda.ProjectManager;import net.sf.memoranda.date.CalendarDate;import net.sf.memoranda.util.Local;/*$Id: ProjectsTablePanel.java,v 1.6 2004/04/05 10:05:44 alexeya Exp $*/public class ProjectsTablePanel extends JPanel {    BorderLayout borderLayout1 = new BorderLayout();    JScrollPane scrollPane = new JScrollPane();    public JTable projectsTable = new JTable() {        public TableCellRenderer getCellRenderer(int row, int column) {            if (((String) getModel().getValueAt(row, PROJECT_ID)).equals(CurrentProject.get().getID())) {                return new javax.swing.table.DefaultTableCellRenderer() {                    public Component getTableCellRendererComponent(                        JTable table,                        Object value,                        boolean isSelected,                        boolean hasFocus,                        int row,                        int column) {                        Component comp =                            super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);                        comp.setFont(new java.awt.Font("Dialog", 1, 11));                        if (((row % 2) > 0) && (!isSelected))                            comp.setBackground(new Color(230, 240, 255));                        return comp;                    }                };            }            if ((row % 2) > 0) {                return new javax.swing.table.DefaultTableCellRenderer() {                    public Component getTableCellRendererComponent(                        JTable table,                        Object value,                        boolean isSelected,                        boolean hasFocus,                        int row,                        int column) {                        Component comp =                            super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);                        if (isSelected)                            return comp;                        comp.setBackground(new Color(230, 240, 255));                        return comp;                    }                };            }            return super.getCellRenderer(row, column);        }    };    boolean activeOnly = false;    public void updateUI() {		if(projectsTable!=null) projectsTable.updateUI();		super.updateUI();    }    public ProjectsTablePanel() {        try {            jbInit();        }        catch (Exception ex) {            new ExceptionDialog(ex);        }    }    void jbInit() throws Exception {        projectsTable.getTableHeader().setFont(new java.awt.Font("Dialog", 1, 10));        projectsTable.setFont(new java.awt.Font("Dialog", 0, 11));        projectsTable.setMinimumSize(new Dimension(200, 100));        projectsTable.setMaximumSize(new Dimension(32767, 32767));        //projectsTable.setPreferredSize(new Dimension(400, 100));        projectsTable.setGridColor(new Color(230, 230, 230));        projectsTable.setShowHorizontalLines(false);        /*projectsTable.setSelectionBackground(Color.white);        projectsTable.setSelectionForeground(Color.blue);*/        scrollPane.getViewport().setBackground(Color.white);        scrollPane.getViewport().add(projectsTable, null);        this.setLayout(borderLayout1);        this.add(scrollPane, BorderLayout.CENTER);        initProjectsTable();    }    void initProjectsTable() {        projectsTable.setModel(new PrjTableModel());        for (int i = 0; i < 4; i++) {            TableColumn column = projectsTable.getColumnModel().getColumn(i);            if (i == 0) {                column.setPreferredWidth(32767);            }            else {                column.setMinWidth(80);                column.setPreferredWidth(80);                            }        }    }    public void setShowActiveOnly(boolean shao) {        activeOnly = shao;        projectsTable.updateUI();        //projectsTable.setModel(new PrjTableModel());    }    public String getSelectedProjectID() {        return (String) projectsTable.getModel().getValueAt(projectsTable.getSelectedRow(), PROJECT_ID);    }    public Project getSelectedProject() {        return (Project) projectsTable.getModel().getValueAt(projectsTable.getSelectedRow(), PROJECT);    }    static final int PROJECT = 101;    static final int PROJECT_ID = 100;    class PrjTableModel extends AbstractTableModel {        String[] columnNames =            {                Local.getString("Project title"),                Local.getString("Start date"),                Local.getString("End date"),                //Local.getString("Execution"),                Local.getString("Status")};        PrjTableModel() {            super();        }        public int getColumnCount() {            return 4;        }        public Object getValueAt(int row, int col) {			if(row==-1) return "";			Project pr;			if (activeOnly)				pr = (Project) ProjectManager.getActiveProjects().get(row);			else				pr = (Project) ProjectManager.getAllProjects().get(row);            switch (col) {                case 0 :                    return pr.getTitle();                case 1 :                    return pr.getStartDate().getShortDateString();                case 2 :                    CalendarDate d = pr.getEndDate();                    if (d == null)                        return "-";                    else                        return d.getShortDateString();                //case 3 :   return pr.getProgress() + "%";                case 3 :                    return getStatusString(pr.getStatus());                case 100 :                    return pr.getID();                case 101 :                    return pr;            }            return "";        }        public int getRowCount() {            if (activeOnly)                return ProjectManager.getActiveProjectsNumber();            return ProjectManager.getAllProjectsNumber();        }        public String getColumnName(int col) {            return columnNames[col];        }    }    String getStatusString(int status) {        switch (status) {            case Project.ACTIVE :                return Local.getString("Active");            case Project.COMPLETED :                return Local.getString("Completed");            case Project.FAILED :                return Local.getString("Failed");            case Project.FROZEN :                return Local.getString("Frozen");            case Project.SCHEDULED :                return Local.getString("Scheduled");        }        return "";    }}

⌨️ 快捷键说明

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