📄 mylistmodel.java.svn-base
字号:
package collector.gui.model;
import javax.swing.*;
import collector.common.*;
public class MyListModel
extends DefaultListModel {
protected boolean m_RefeshTag = true;
protected boolean m_DataChanged = false;
protected int m_MaxElementCounter = 700;
public MyListModel() {
}
private final int ADD = 0;
private final int REMOVE = 1;
class ElementChange
implements Runnable {
private int Type = -1;
private String m_String = null;
public ElementChange(int type) {
super();
Type = type;
}
public void setString(String m_pString) {
m_String = m_pString;
}
public void run() {
if (Type == ADD) {
if (m_String == null) {
return;
}
else {
addElement(m_String);
}
}
else if (Type == REMOVE) {
removeElementAt(0);
}
}
}
public void removeElementAt(int index) {
if (this.size() <= 0) {
return;
}
else {
super.removeElementAt(index);
}
}
public Object getElementAt(int index) {
int listmodel_size = this.size();
if (index >= listmodel_size) {
return null;
}
else {
return super.getElementAt(index);
}
}
public void appendElement(String m_pString) {
try {
if (!m_RefeshTag) {
return;
}
int m_ElementCount = this.getSize();
int m_DelCount = m_ElementCount - m_MaxElementCounter + 10;
if (m_DelCount > 0) {
for (int i = 0; i < m_DelCount; i++) {
//this.removeElementAt(0);
//////////////////////////////////////////////////////////////////
ElementChange remove_Element = new ElementChange(REMOVE);
SwingUtilities.invokeLater(remove_Element);
//////////////////////////////////////////////////////////////////
//removeRange(0, m_DelCount);
}
}
}
catch (Exception e) {
CollectorDefine.SystemPrintln("appendElement In MyListModel Error #1");
e.printStackTrace();
}
try {
int StrLength = m_pString.length();
int SubLength = 140;
int StartPoint = 0;
int EndPoint = 140;
String SubStr = "";
if (EndPoint >= StrLength) {
//this.addElement(m_pString);
//////////////////////////////////////////////////////////////////
ElementChange add_Element = new ElementChange(ADD);
add_Element.setString(m_pString);
SwingUtilities.invokeLater(add_Element);
//////////////////////////////////////////////////////////////////
}
else {
while (EndPoint <= StrLength) {
SubStr = m_pString.substring(StartPoint, EndPoint);
//this.addElement(SubStr);
//////////////////////////////////////////////////////////////////
ElementChange add_Element = new ElementChange(ADD);
add_Element.setString(SubStr);
SwingUtilities.invokeLater(add_Element);
//////////////////////////////////////////////////////////////////
StartPoint += 140;
EndPoint += 140;
}
if (StartPoint < StrLength) {
SubStr = m_pString.substring(StartPoint);
//this.addElement(SubStr);
//////////////////////////////////////////////////////////////////
ElementChange add_Element = new ElementChange(ADD);
add_Element.setString(SubStr);
SwingUtilities.invokeLater(add_Element);
//////////////////////////////////////////////////////////////////
}
}
}
catch (Exception e) {
CollectorDefine.SystemPrintln("appendElement In MyListModel Error #2");
e.printStackTrace();
}
m_DataChanged = true;
}
public boolean getDataChanged() {
return m_DataChanged;
}
public void setDataChanged(boolean m_DataChanged) {
this.m_DataChanged = m_DataChanged;
}
public boolean getRefreshTag() {
return m_RefeshTag;
}
public void setRefreshTag(boolean m_RefeshTag) {
this.m_RefeshTag = m_RefeshTag;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -