cachetableex.java
来自「自行开发的高缓存table」· Java 代码 · 共 169 行
JAVA
169 行
// Decompiled by DJ v2.9.9.60 Copyright 2000 Atanas Neshkov Date: 2004-2-20 9:14:17
// 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.CacheTableEX;
import java.awt.*;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.JTableHeader;
import sbsnms.asn.IDList;
import sbsnms.asn.IDType;
import utility.Trace;
// Referenced classes of package utility.CacheTableEX:
// 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(IDList idlist)
{
if(idlist == null)
Trace.print("CacheTableEx", "setIDList", "set IDList null!");
tableModel.setIDList(idlist);
}
public IDList getIDList()
{
return tableModel.getAllId();
}
public IDList getSelectedItems()
{
int ai[] = getSelectedRows();
IDList idlist = getIDList();
if(idlist == null)
return null;
IDList idlist1 = new IDList();
for(int i = 0; i < ai.length; i++)
idlist1.add(idlist.elementAt(ai[i]));
if(idlist1.size() > 0)
return idlist1;
else
return null;
}
public IDType getSelectedItem()
{
int i = getSelectedRow();
if(i == -1)
{
return null;
} else
{
IDList idlist = getIDList();
return (IDType)idlist.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 + -
显示快捷键?