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

📄 detailtables.java

📁 这是一份标准的课程设计文档
💻 JAVA
字号:
package desktop;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.event.*;

public 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 + -