我正在制作一些带有实时日志的控制面板。 应该显示最近15次登录的实时日志。如果有超过15条记录,那么我希望删除最后一条记录,并且最近发生的记录显示在列表顶部。如果登录或注销发生,我将使用观察员更新日志列表。我应该使用Queue数组还是有可能使它与swing?如果可能的话,那么如何?提前致谢。Swing JList,只显示15条记录
回答
我认为你应该使用这种方法setVisibleRowCount(int visibleRowCount)
为了设置Jlist中可以显示的首选行数。
当然。制作自己的TableModel,或许可以从javax.swing.table.AbstractTableModel中
衍生只要确保你的模型永远只公开15行(也许用LinkedList<>
牵你的日志条目)。
嗯,但是例如,如果我的模型包含超过15行,它将不起作用? 我实际上是从数据库中取得记录,也许有一些声明只从数据库中选择最后15条记录? – notranked
“TableModel”是一些任意数据的抽象视图。假设你在一个List中有一百万条日志记录。如果您的模型'getRowCount()'仅表示15(和关联的'getValueAt()'方法仅返回最后15行数据),那么您的JTable将只显示15行!请注意,这并没有太多说明如何检索和存储日志记录,因此对于数据库中的日志数据,“select with limit”方法也适用。 –
谢谢,我已经让它工作了,正如你之前提到的,设置限制为15。 – notranked
- 1. 仅显示4条记录并向JList添加滚动条
- 2. 结果只显示一条记录
- 3. 只有一条记录显示
- 4. 组合框只显示一条记录
- 5. Gridview只显示第一条记录
- 6. Crystal Reports只显示一条记录
- 7. 如何只显示5条记录?
- 8. XtraReport和xrTable只显示1条记录
- 9. Swing应用程序仅在JTextArea中显示一条记录
- 10. GWT Celltable只显示15行
- 11. 显示的记录只有
- 12. Cakephp只显示数据库中的四条记录中的一条记录
- 13. 仅显示15条结果
- 14. 显示第一条记录
- 15. SQL条件显示记录
- 16. Elmah只记录了15个错误
- 17. 只显示登录用户的记录
- 18. Java Swing JList
- 19. Java Swing JList
- 20. Swing JList和DefaultListModel。
- 21. 在Swing中向JList添加滚动条
- 22. 在一条记录下显示多条记录?
- 23. VB/CLASS问题:只显示所有记录的最后一条记录
- 24. 水晶报告组,只显示1条记录,但总计其他记录
- 25. JList不显示JScrollPane
- 26. JList行显示
- 27. 女士访问只显示一条记录,当打印表格
- 28. typehead引导的只显示8条记录
- 29. p:收集器只显示一条记录
- 30. 许多核心数据查询只显示1条记录
我试过这个,但它似乎不起作用。 – notranked
正如你所说的,你从DB获取记录,所以你可以从DB中选择15个新的recodrs! – Yassering
为了做到这一点使用此查询:SELECT TOP 15 ....; (这是MS SQLSERVER的语法)。 – Yassering