如果可以选择在单个JPanel中进行所有渲染,或者在多个JPanel中进行渲染(使用override paintComponent),并且不使用任何其他Swing组件,例如JButtons、JTextBox、JComboxes等(面板所在的JFrame除外)。如果只使用drawLine、drawRectangle、fillRect等进行绘图,那么在一个面板中绘制所有内容还是将绘图展开到多个面板上更有效?假设两种方式的代码复杂度相同,减少延迟/改进响应时间很重要。
Swing仅在需要时绘制组件。
如果每次属性更改时都重新绘制整个框架,则将逻辑放在一个地方以便于维护。
如果将配电盘分解为子零部件符合逻辑,则可以根据需要重新绘制各个子零部件。
例如,这就是JTable的工作方式。表中可以有一百行,但如果只更改一行中的数据,则只重新绘制该行。
我目前正在为学校开发一款Java的2D游戏。我们必须使用抽象工厂设计模式。对于2D实现,我使用如下工厂: 在我的显示类中,我创建了一个 JFrame 和 Jpanel 现在,从我的主gameloop中,我调用Java2DPLay的类中的可视化方法来可视化我的游戏体验 我的目标是将JPanel传递给每个实体,并让它在显示之前将其内容绘制到面板上。然而,我似乎不知道该怎么做。当通过改变面板的图形来使用
问题内容: 我编写的代码可以一次打开16位数字。目前,它们都以单独的图形打开。我希望他们在同一页面上全部打开。不一样的图。我希望在单个页面/窗口上有16个独立的图形。同样由于某种原因,numbins和defaultreallimits的格式也无法保存在图1之前。我是否需要使用subplot命令?我不明白为什么我必须这样做,但不知道我还要做什么? 问题答案: 要回答您的主要问题,您想使用subplo
我正在寻找一种在面板/面板或画布之间进行日常切换的方法。更具体地说:我正在开发一个游戏。在我的代码中,有一个类扩展了canvas并实现了Runnable,在游戏的构造函数中,它创建了一个名为window的类的新实例。这是窗口类: 我想能够删除帧的游戏,激活另一个面板,并停止执行游戏。我已经试过: 但它使程序崩溃。这些是start() 我的主要目标是能够在发生某些事件时播放一个剪接场景,我正尝试使用
问题内容: 在下面,我在框架内部有一个面板。为什么我不能画图?我只是得到一个纯白色的屏幕。如果我摆脱了面板并直接绘制到框架上,那是可行的。任何帮助,将不胜感激。 问题答案: 尝试将事件绑定到面板,而不是整个框架: 您的版本对我来说很有效(Windows),但它会不断重新绘制面板,以致使整个处理器吃光了。 来自文档: 请注意,在绘画事件处理程序中,即使不使用它,应用程序也必须始终创建wxPaintD
问题内容: 我正在编写一个具有许多不同视图的程序。其中之一是图形密集型(显示互连的图形)。其他人只显示较小但复杂的图表。 我发现主视图的绘制时间很长(甚至只是绘制当前可见的区域),并且在绘制时,界面的其余部分变得很慢。 我的问题是,我可以创建一个新线程来处理绘画吗?如果是这样,是否会导致性能提高,我怀疑它不会。我尝试了以下方法: 创建一个抽象类ThreadPaintablePanel,我的复杂视图
问题内容: 我有一个带有两个按钮的面板。我正在尝试在面板内插入图像,我想在单击按钮后在图像内画线。我使用了下面的代码,但这似乎不起作用。 最大的问题是我的其他班级使用的相同代码。 问题答案: 尝试在更新后包装内部。同样,当您完成对图形上下文的渲染时,还应该调用。 您还应该依靠布局管理器,而不是自己动手做,这只会使您的生活更轻松。 就个人而言,我认为将其直接绘制到自定义组件会更容易。查看执行自定义绘