cachetableex.java
来自「自行开发的高缓存table」· Java 代码 · 共 182 行
JAVA
182 行
// Decompiled by DJ v2.9.9.60 Copyright 2000 Atanas Neshkov Date: 2004-2-20 9:16:01
// Home Page : http://members.fortunecity.com/neshkov/dj.html - Check often for new version!
// Decompiler options: packimports(3)
// Source File Name: CacheTableEx.java
package utility.CacheTableVector;
import java.awt.*;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.JTableHeader;
import utility.Trace;
// Referenced classes of package utility.CacheTableVector:
// CacheTableModel, CacheTableScrollPane
public class CacheTableEx extends JTable
{
public CacheTableEx(CacheTableModel cachetablemodel)
{
tableModel = null;
scrollPane = null;
if(cachetablemodel != null)
{
tableModel = cachetablemodel;
setDoubleBuffered(true);
setModel(cachetablemodel);
cachetablemodel.setPagedTable(this);
} else
{
CacheTableModel cachetablemodel1 = new CacheTableModel();
tableModel = cachetablemodel1;
setDoubleBuffered(true);
setModel(cachetablemodel1);
cachetablemodel1.setPagedTable(this);
}
getTableHeader().setReorderingAllowed(false);
}
public int[] getSelectedRows()
{
if(getRowCount() <= 0)
return new int[0];
if(super.selectionModel != null)
{
int i = super.selectionModel.getMinSelectionIndex();
int j = super.selectionModel.getMaxSelectionIndex();
if(i == -1 || j == -1)
return new int[0];
int ai[] = new int[1 + (j - i)];
int k = 0;
for(int l = i; l <= j; l++)
if(super.selectionModel.isSelectedIndex(l))
ai[k++] = l;
int ai1[] = new int[k];
System.arraycopy(ai, 0, ai1, 0, k);
return ai1;
} else
{
return new int[0];
}
}
public int getSelectedRow()
{
if(getRowCount() <= 0)
return -1;
else
return super.selectionModel.getMinSelectionIndex();
}
public int getSelectedRowCount()
{
if(getRowCount() <= 0)
return 0;
if(super.selectionModel != null)
{
int i = super.selectionModel.getMinSelectionIndex();
int j = super.selectionModel.getMaxSelectionIndex();
int k = 0;
for(int l = i; l <= j && l < getRowCount(); l++)
if(super.selectionModel.isSelectedIndex(l))
k++;
return k;
} else
{
return 0;
}
}
public void setTableScrollPane(CacheTableScrollPane cachetablescrollpane)
{
scrollPane = cachetablescrollpane;
}
public CacheTableScrollPane getTableScrollPane()
{
return scrollPane;
}
public void updateData(int i)
{
tableModel.updateData(rowAtPoint(new Point(1, i)));
}
public void setIDList(Vector vector)
{
if(vector == null)
Trace.print("CacheTableEx", "setIDList", "set IDList null!");
tableModel.setIDList(vector);
}
public Vector getIDList()
{
return tableModel.getAllId();
}
public Vector getSelectedItems()
{
int ai[] = getSelectedRows();
Vector vector = new Vector();
Vector vector1 = getIDList();
if(vector1 == null)
return null;
for(int i = 0; i < ai.length; i++)
vector.add(vector1.elementAt(ai[i]));
return vector;
}
public boolean deleteIDFromAll(Object obj)
{
Vector vector = tableModel.getAllId();
if(vector == null)
return false;
if(vector.remove(obj))
{
tableModel.setIDList(vector);
Trace.print("CacheTableEx", "deleteIDFromAll", "deleteIDFromAll(IDType id)-----OK");
return true;
} else
{
tableModel.setIDList(vector);
Trace.print("CacheTableEx", "deleteIDFromAll", "deleteIDFromAll(IDType id)-----Failure");
return false;
}
}
public Object getSelectedItem()
{
int i = getSelectedRow();
if(i == -1)
{
return null;
} else
{
Vector vector = getIDList();
return vector.elementAt(i);
}
}
public int rowAtPoint(Point point)
{
int i = point.y;
if(i < 0)
return 0;
else
return super.rowAtPoint(point);
}
public int getViewLines()
{
double d = scrollPane.getViewport().getSize().height;
return (int)(d / (double)super.getRowHeight() + 1.0D);
}
private CacheTableModel tableModel;
CacheTableScrollPane scrollPane;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?