Java Swing JList,仅显示15条记录

Java Swing JList,仅显示15条记录,java,arrays,swing,queue,jlist,Java,Arrays,Swing,Queue,Jlist,我正在做一个带有实时日志的控制面板。 实时日志应该显示最后15次登录。如果有超过15条记录,那么我希望删除最后一条记录,并在列表顶部显示最近发生的记录。如果发生登录或注销,我将使用observer更新日志列表。我应该使用队列数组还是可以使用swing?如果可能的话,怎么做?提前感谢。我认为您应该使用此方法设置visibleRowCount(int visibleRowCount)以设置Jlist中可显示的首选行数。当然。制作您自己的Tablemodel,可能源于javax.swing.table

我正在做一个带有实时日志的控制面板。
实时日志应该显示最后15次登录。如果有超过15条记录,那么我希望删除最后一条记录,并在列表顶部显示最近发生的记录。如果发生登录或注销,我将使用observer更新日志列表。我应该使用队列数组还是可以使用swing?如果可能的话,怎么做?提前感谢。

我认为您应该使用此方法设置visibleRowCount(int visibleRowCount)以设置Jlist中可显示的首选行数。

当然。制作您自己的Tablemodel,可能源于javax.swing.table.AbstractTableModel


只需确保您的模型仅公开15行(可能使用
LinkedList
来保存日志条目)。

我已经尝试过这个方法,但它似乎不起作用。正如您所说,从DB获取记录,因此您可以从DB中选择15个新记录!为此,请使用此查询:选择前15名;(这是MS SQLSERVER的语法)。非常感谢,我认为它会起作用。嗯,但例如,如果我的模型包含超过15行,它就不会起作用?实际上,我从数据库中获取记录,可能有一些语句只从数据库中选择最后15条记录?A
TableModel
是对一些任意数据的抽象视图。假设您在
列表中有100万条日志记录
。如果您的模型
getRowCount()
仅显示15行(并且关联的
getValueAt()
方法仅返回最后15行数据),则JTable将仅显示15行!请注意,这并没有说明如何检索和存储日志记录,因此对于数据库中的日志数据,“限制选择”方法也适用。谢谢,正如您前面提到的,我使其正常工作,将限制设置为15。