java - 使用 Swing 动态重新排列布局

标签 java swing layout miglayout

我正在使用 Swing 构建一个具有与 Twitter 类似功能的桌面应用程序。我有一个显示“推文”的“提要”页面。

我在 JPanel 中有“tweets”,我想通过将新的“tweets”放在 JPanel 的顶部并将旧的向下移动来动态显示新的“tweets”。我试图通过使用 jpanel.add(tweet, "cell 0 0, wrap") 对 MigLayout 执行此操作但是这没有按预期工作并且为了让它与布局一起显示我希望我必须调用 jpanel.revalidate()

这并不理想,因为每秒可能有很多推文,并且重新绘制面板可能会非常慢。无论如何我可以在面板顶部添加新的“tweets”而无需重新绘制?

最佳答案

虽然动态布局是可能的,如图所示herehere ,我会使用单列 JTable TableModel反射(reflect)了你想要的下推堆栈效果,也许有一个内部 Queue<Tweet> . JTable渲染效率高,组件在 JScrollPane 中运行良好.

关于java - 使用 Swing 动态重新排列布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11927952/

相关文章:

java - 来自 OAuth 的回调不调用 onResume()

java - Swing:如何延迟从菜单栏/子菜单打开菜单

Java 7 Swing Applet 在 SortingFocusTraversalPolicy 类中失败并出现 StackOverflow 错误

java - Swing:如何从其编辑器获取 JComponent

java - LinearLayout不出现

android - ViewFlipper:在 View 上绘制 Canvas

ios - 将 UIViewController 元素添加到 xib 图形布局中

Phusion Passenger Server 中的 Java Web 应用程序

java - 强制 Spring Boot 2 使用 JDK 代理失败

java - BigDecimal求余方法可能返回负值,为什么?