理论上我理解Java中没有抽象静态的原因,例如为什么静态方法在Java中不是抽象的.
但是我如何解决这样的问题呢?
我的应用程序使用几种类型的文件,我想分配静态属性,如该文件类型的描述(如"数据文件",另一种是"配置文件"等).显然,我会把它放到一个静态字符串中,以便在不实例化文件的情况下访问描述(对GUI文件很有用).另一方面,显然所有文件类型都应该有一些常见的方法getStatus(),显然我想从一个共同的超类继承MyFileType.
getDescription() 当然在超类中是抽象的.
尝试使用超类和接口的组合,但类似的问题:不允许静态实现抽象方法.
Java大师将如何解决这个问题?我想创建它真的是一个糟糕的实现吗?
非常感谢,Philipp
我的同事正在使用Java3D来可视化有限元模拟的结果.问题是Java3D似乎已经死了,这对OSX来说是一种痛苦.这是我们寻找替代品的原因之一.我们当前基于Java3D的实现已经做了很多工作,所以问题是离开Java3D需要付出多少努力.JOGL是一个选项,但看起来很多工作.
有没有关于替代品的建议?有这种迁移的经验吗?
我在应用程序的不同位置使用JColorchooser 。可以有多个可以调用 JColorChooser 的面板实例。选择器中的“样本”面板有一个“最近”颜色
区域,该区域仅保留在 JColorChooser 的每个实例中。我希望(a)在我的应用程序中的所有选择器中具有相同的“最近”颜色,并且(b)将颜色保存到磁盘,以便这些颜色在应用程序关闭和重新启动时仍然存在。
(至少(a)可以通过在整个应用程序中使用相同的单个选择器实例来解决,但这看起来很麻烦,因为我需要非常小心附加的更改侦听器,并在各种对话框中添加/删除选择器面板.)
我没有找到任何方法可以让我在选择器面板中设置(恢复)这些“最近”颜色。所以对我来说,实现这一目标的唯一方法是:
这是正确的,还是我错过了什么?
顺便说一句:我还想检测选择器中的双击,但似乎很难找到附加鼠标侦听器的正确位置。我真的需要深入研究选择器面板的内部结构才能做到这一点吗?(不,它无法检测对相同颜色的第二次单击,因为只有单击不同的颜色时才会触发更改侦听器。)