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

📄 winexplorer.java

📁 树状目录结构
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
              if(list[i].isDirectory())vDir.add(list[i]);
              else vFile.add(list[i]);
          }
          sortElements(vFile);
          sortElements(vDir);
          for (int i = 0; i < vDir.size(); i++)model.addFile((File)vDir.elementAt(i));
          for (int i = 0; i < vFile.size(); i++)model.addFile((File)vFile.elementAt(i));
      }
      public void sortElements(Vector v)
       {
          for(int i=0;i<v.size();i++)
          {
               int k=i;
               for(int j=i+1;j<v.size();j++){
                   File fa=(File)v.elementAt(j);
                   File fb=(File)v.elementAt(k);
                   if(fileSystemView.getSystemDisplayName(fa).toLowerCase().compareTo(
                        fileSystemView.getSystemDisplayName(fb).toLowerCase())<0)k=j;
               }
               if(k!=i)swap(k,i,v);
          }
       }
       private void swap(int loc1,int loc2,Vector v){
           Object tmp=v.elementAt(loc1);
           v.setElementAt(v.elementAt(loc2),loc1);
           v.setElementAt(tmp,loc2);
       }
      class DetailTableModel extends DefaultTableModel {
          public DetailTableModel() {
              addColumn("名称");
              addColumn("大小");
              addColumn("修改时间");
          }
          public void addFile(File f){
              addRow(new Object[]{f,new Double(f.length()/1024),
                   new java.sql.Date(f.lastModified())});
          }
          public void removeAllRows(){
              while(getRowCount()!=0) removeRow(0);
          }
          public boolean isCellEditable(int row, int column) {return false;}
      }
      class DetailsTableCellRenderer extends DefaultTableCellRenderer {
        DetailsTableCellRenderer() {}
        public Component getTableCellRendererComponent(JTable table, Object value,
                              boolean isSelected, boolean hasFocus, int row, int column) {
            if (column == 1){
                setHorizontalAlignment(SwingConstants.TRAILING);
                isSelected=hasFocus=false;
            }else if(column==2){
                setHorizontalAlignment(SwingConstants.CENTER);
                isSelected=hasFocus=false;
            }else setHorizontalAlignment(SwingConstants.LEADING);
            return super.getTableCellRendererComponent(
                        table, value, isSelected, hasFocus, row, column);
        }
        public void setValue(Object value) {
            setIcon(null);
            if (value instanceof File) {
                File file = (File)value;
                setText(fileSystemView.getSystemDisplayName(file));
                setIcon(fileSystemView.getSystemIcon(file));
            }else{
                super.setValue(value);
            }
        }
    }
  }

}
class DetailTables extends JTable
{
	private DetailTableModel model;
	public DetailTables(String[] Columns)
	{
		model=new DetailTableModel(Columns);
		this.setModel(model);
		this.setShowGrid(false);
		//this.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
		TableColumnModel colModel = getColumnModel();
		DefaultTableCellRenderer	cellModel	=	new DefaultTableCellRenderer();
		cellModel.setHorizontalAlignment(SwingConstants.CENTER);
        for (int i=0;i<Columns.length;i++)
          colModel.getColumn(i).setCellRenderer(cellModel);
	}
	public void addRow(String s[])
	{
		model.addRow(s);
	}
	public void removeRow(int row)
	{
		model.removeRow(row);
	}
	public int getIndex(int id)
	{
		String sid	=	""+id;
		int counts	=	model.getRowCount();
		for(int i=0;i<counts;i++)
		{
			String ss	=	model.getValueAt(i, 0).toString().trim();
			if(ss.equals(sid))
				return i;
		}
		return	-1;
	}
	public void RemoveAll()
	{
		model.removeAllRows();	
	}
	public void setRowsBGColor(int row1,int row2,int columnCounts)
	{
		for(int i=0;i<columnCounts;i++)
		{
			TableColumnModel cmodelItemModel =this.getColumnModel();
			TableColumn columnItem = cmodelItemModel.getColumn(i);
			columnItem.setCellRenderer( new ColorRenderer(row1,row2) );
		}
	}
}

class ProcessTables extends JTable
{
	private DetailTableModel model;
	public ProcessTables(String[] Columns)
	{
		model=new DetailTableModel(Columns);
		setModel(model);

        setShowGrid(false);
        TableColumnModel colModel = getColumnModel();
		IndicatorCellRenderer renderer = new IndicatorCellRenderer(0,100);
		renderer.setStringPainted(true);
		renderer.setBackground(this.getBackground());
		DefaultTableCellRenderer	cellModel	=	new DefaultTableCellRenderer();
		cellModel.setHorizontalAlignment(SwingConstants.CENTER);
        colModel.getColumn(0).setCellRenderer(cellModel);
        colModel.getColumn(1).setCellRenderer(cellModel);
		colModel.getColumn(2).setCellRenderer(cellModel);
		colModel.getColumn(3).setCellRenderer(renderer);
	}
	public void addRow(String s[])
	{
		model.addRow(s);
	}
	public void setValue(int row,int col,String value)
	{
		model.setValueAt(value,row,col);
	}
	public int getIndex(int id)
	{
		String sid	=	""+id;
		int counts	=	model.getRowCount();
		for(int i=0;i<counts;i++)
		{
			String ss	=	model.getValueAt(i, 0).toString().trim();
			if(ss.equals(sid))
				return i;
		}
		return	-1;
	}
	public void removeRow(int row)
	{
		model.removeRow(row);
	}
	public void hangUP()
	{
		int[] selectcount	=	getSelectedRows();
		if(selectcount.length==0)
		{
			String msg="请先选择文件";
			JOptionPane.showMessageDialog(this,msg,"加入队列",JOptionPane.INFORMATION_MESSAGE);
		}
		else 
		{
			for(int i=0;i<selectcount.length;i++)
			{
				model.getValueAt(selectcount[i],0);
				setValue(selectcount[i],1,"挂起");
			}
		}
	}
}

class IndicatorCellRenderer extends JProgressBar implements TableCellRenderer 
{
  public IndicatorCellRenderer() {
    super(JProgressBar.HORIZONTAL);
    setBorderPainted(false);
  }

  public IndicatorCellRenderer(int min, int max) {
    super(JProgressBar.HORIZONTAL, min, max);
    setBorderPainted(false);
  }
  
  public Component getTableCellRendererComponent(JTable table, Object value,
                   boolean isSelected, boolean hasFocus, int row, int column) {
    int n = 0;
    if (! (value instanceof Number)) {
      String str;
      if (value instanceof String) {
        str = (String)value;
      } else {
        str = value.toString();
      }
      try {
        n = Integer.valueOf(str).intValue();
      } catch (NumberFormatException ex) {
      }
    } else {
      n = ((Number)value).intValue();
    }
      setForeground(Color.red);
    setValue(n);
    return this; 
  }
 
}


class DetailTableModel extends DefaultTableModel
	   {
		   /////////////////////////////
           public DetailTableModel(String[] Columns)
		   {
			   for(int i=0;i<Columns.length;i++)
			   {
					addColumn(Columns[i]);
			   }
           }
		   /////////////////////////////
           public void addRow(String s[])
		   {
			   Object	object[]	=	new Object[s.length];
			   for(int i=0;i<s.length;i++)
			   {
					object[i]	=	s[i];
			   }
			   addRow(object);
               //addRow(new Object[]{s[0],s[1],s[2],s[3]});
           }

		   /////////////////////////////
           public void removeAllRows()
		   {
               while(getRowCount()!=0) removeRow(0);
           }
		   /////////////////////////////
           public boolean isCellEditable(int row, int column) {return false;}
		   //////////////////////////////
       }


class ColorRenderer extends DefaultTableCellRenderer
{
    int _row;
	int row1,row2;
	public ColorRenderer(int r1,int r2)
	{
		row1	=	r1;
		row2	=	r2;
	}
    public Component getTableCellRendererComponent( JTable table, Object value,
            boolean isSelected, boolean hasFocus, int row, int column )
    {
		setHorizontalAlignment(SwingConstants.CENTER);
        if(row>=row1&&row<=row2)
        {
            setBackground(Color.PINK);
        }
        else
        {
            setBackground(table.getBackground());
        }
        return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    }
}

⌨️ 快捷键说明

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