当前位置: 首页 > 面试题库 >

Swing组件和序列化

太叔景同
2023-03-14
问题内容

为什么Swing
JComponent类要实现该接口Serializable?我实现视图的方式是无状态的,所有状态数据都存储在Presentation
Model中。因此,我不需要序列化我的视图。我使用了@SuppressWarnings("serial")注释来删除警告。是否有删除它们的更好方法?


问题答案:

最初,GUI构建器将以序列化格式保存UI。该applet标签甚至有从序列化形式负载的属性(我不知道还有谁使用了这一点,我只用它来是恶意的)。不幸的是,对GUI使用序列化机制实际上是行不通的。Swing仅保证在同一主要版本中具有兼容性(而且我猜测即使只有很少的测试)。



 类似资料:
  • 问题内容: 我一直在寻找关于此的一些提及,但是我找不到关于它的任何实质性信息。有没有办法改变Swing组件的Z顺序,或者至少改变绘制顺序,使它们看起来高于其他组件? 问题答案: 您正在寻找setComponentZOrder 这是一个例子。

  • 问题内容: 我正在尝试在Java FX下开发一个拖放应用程序。用户将在某些位置放置JFX组件,例如按钮,菜单,标签。完成后,他将保存此布局,稍后再重新打开该布局,然后将再次使用它。 重要的是存储有关放置在某个位置的所有对象的信息。 我决定为此目的使用序列化。但是我无法序列化JavaFX组件。我试图序列化Buttons,Scenes,Stages,JFXPane,但似乎没有任何效果(我获得了NotS

  • 我为即将到来的愚蠢问题提前道歉。 是否有JPanel用于javaFX的油漆组件方法的替代品?或者我应该只使用嵌入了Swing的JFXPanel? 例如,我认为时间轴与Swing中的计时器相同,面板/油漆组件对应的是什么? 编辑:例如,我们如何制作一个从x-y坐标到另一个坐标的圆的动画?(当然,不使用TranslateTransition) 我试着用canvas画画,但我不知道如何不断更新画布,比如

  • 这是我的代码,当我执行时,我得到的只是一个空白窗口。首先,当我尝试执行时,我得到了这个错误: “无法对非静态字段面板进行静态引用” 所以我把它放在构造器中,但什么都不会显示。

  • 与这个问题类似,我也有一个问题,我打开的第一个JFrame比后面的JFrame花的时间长得多。我有一个应用程序,它基于控制台中的用户输入打开JFrames。因此,我将有时间在一个单独的线程中预先加载JFrame内容。我应该调用Swing或AWT的哪个函数来执行这个初始化(另一个StackOverflow回答是指某个不再在JRE/JDK中的sun包)?

  • 目前,我正在尝试使用SwingWorker构建Swing应用程序,以不断更新面板。 我想在这里完成的是从数据库加载数据,每个数据都将作为面板中的图标发布。图标的颜色基于严重程度字段的值。例如: 示例数据在这张图片中,我有12个对象_id A001的数据。doInBackground()方法中的函数将循环12次,并调用publish()函数在面板中显示图标。图标的颜色基于每个对象id的严重性字段的最