当前位置: 首页 > 知识库问答 >
问题:

使用Swing动态重新排列布局

艾修筠
2023-03-14

我正在构建一个带有Swing的桌面应用程序,其功能与Twitter类似。我有一个“feed”页面,其中显示“tweets”。

我在JPanel中有“tweets”,希望通过在JPanel顶部放置新的“tweets”并向下移动旧的“tweets”来动态显示新的tweets。我试图通过使用jpanel来使用MigLayout实现这一点。添加(tweet,“cell 0,wrap”)然而,这并没有按预期工作,为了让它以我想要的布局显示,我不得不调用jpanel。重新验证()。

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

共有2个答案

贺子昂
2023-03-14

简短的回答,不。说真的,花点时间思考这个问题。“我想添加新内容,但不更新屏幕”,你认为这有多可行?

你最终将不得不表演某种绘画。问题是多久一次。

然而...

通过一些简单的技术(和建模),您可以将更新“合并”成批次,从而使重新绘制更有意义(而不是绘制每条新推文,而是绘制一批)。

你可以找个像“荡秋千”这样的人来做这件事。基本上,发布推特,并允许处理方法在之后添加区块。

乐正翰
2023-03-14

尽管动态布局是可能的,如这里和这里所示,但我会使用一个单列的JTable和一个反映您想要的下推堆栈效果的TableModel,可能一个具有内部队列

 类似资料:
  • 我有4个div我正在使用flexbox对齐。在桌面大小下,有3个等宽列,第一个和最后一个div占了容器的整个高度。第二个和第三个divs在中间垂直堆叠,各占高度的50%。效果不错。 在移动大小,我希望最后一个div在顶部,并伸展整个宽度的容器。然后,我希望第一个div在顶部div下方左对齐,并占据容器宽度和剩余高度的50%。 我遇到的问题是,我希望第二个和第三个div在顶部div的正下方对齐,并且

  • 问题内容: 鉴于HTML 呈现为 我的问题: 有没有一种方法可以通过仅使用CSS来呈现它,而无需更改HTML部分。 问题答案: 它可能不完全符合您的要求,但请看一下这个问题: CSS将div定位在另一个div的上方,而在HTML中却没有按照该顺序排列 基本上,您必须使用Javascript才能以任何方式使其可靠。

  • 问题内容: 我愿意在应用程序中添加一个按钮,单击该按钮将重新启动该应用程序。我搜索谷歌,但没有发现任何有用的,除了这一个。但是,此处遵循的过程违反了Java的WORA概念。 是否有其他以Java为中心的方法来实现此功能?是否可以只派生另一个副本然后退出? 提前致谢。我感谢您的帮助。 @deporter我已经尝试过您的解决方案,但是它不起作用:( @mKorbel我写的,采取的概念下面的代码,你曾在

  • 我试图弄清楚如何使用tidyverse来动态排列数据帧。我以前用arrange_但是现在不推荐用了。 一些更详细的细节。我需要安排数字,如果不是,则升序。我有内置的逻辑,但我不知道如何让它与安排一起工作。 一些数据: 某些代码: 有人有使用tidyverse的解决方案吗? 谢谢

  • 本文向大家介绍使用Swing绘制动态时钟,包括了使用Swing绘制动态时钟的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了利用Swing绘制一个动态时钟的具体代码,供大家参考,具体内容如下 效果 代码在下面,可跳过解析。 前言 编程实现一个时钟 利用Swing绘制一个时钟,只能是静态的。利用Calendar类获取当前的时分秒,然后根据数学公式绘制相应的时钟就可以了。 如果静态的时钟已

  • 问题内容: 假设有两个没有同步的线程,一个设置另一个执行。 在下文中,“读取”始终指字段的读取。 以下输出可能吗? 答案是肯定的,因为即使读1发生在读2之前,但是由于读2不会改变线程内执行的语义,因此仍可能在读1之前对读2重新排序。 这个推理正确吗? 问题答案: 发生在前并不意味着两个任意操作的顺序。更精确地说,出现这种情况,之前所做的最重要的事情是占用 的写入 和 读取 在 之前发生的一致性 。