是否有基于平面设计概念的java外观?
我有5个java工程系统,它们的UI是使用Swing开发的 我们大约在10年前开始开发这些系统,每个系统大约有30万行代码。所有这些系统都在生产环境中 关于这些系统的用户界面,一个困扰我们的问题是,与手机、平板电脑和网站等大型可用用户界面相比,它们看起来很旧 手机、平板电脑和网站UI有什么共同点?它们的外观基于平面设计理念 因此,我们正在开始一项研究,寻找低成本的替代方案,为我们的系统提供面向平面设计的现代外观 我们想到的第一个选择是搜索基于平面设计概念实现的JavaL&F。但我们没有找到 有人知道是否有一种基于java外观的设计,特别是基于平面设计概念的设计吗 致以最良好的祝愿,是否有基于平面设计概念的java外观?,java,swing,look-and-feel,Java,Swing,Look And Feel,我有5个java工程系统,它们的UI是使用Swing开发的 我们大约在10年前开始开发这些系统,每个系统大约有30万行代码。所有这些系统都在生产环境中 关于这些系统的用户界面,一个困扰我们的问题是,与手机、平板电脑和网站等大型可用用户界面相比,它们看起来很旧 手机、平板电脑和网站UI有什么共同点?它们的外观基于平面设计理念 因此,我们正在开始一项研究,寻找低成本的替代方案,为我们的系统提供面向平面设计的现代外观 我们想到的第一个选择是搜索基于平面设计概念实现的JavaL&F。但我们没有找到 有人
Cláudio.让旧的swing应用程序焕然一新的快速方法是改变它的外观和感觉 光环的外观和感觉看起来不错 查看Oracle,了解如何更改它或创建自己的Oracle 要改变你的外观和感觉,你所要做的就是在你的应用程序中添加几行代码 以下是如何更改为Nimbus:
try {
//recommended way to set Nimbus LaF because old versions of Java 6
//don't have it included
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (Exception e) {
// If Nimbus is not available, you can set the GUI to another look and feel.
}
没有预构建的UI,Swing中的UI是……嗯……我有过的开发中最痛苦的经历之一。UI本质上是特定于平台的,对于任何半复杂的UI来说,跨平台UI都是白日梦。它唯一有效的地方是,如果你的UI基本上是一个菜单栏和一个表面,你可以在上面绘制你自己的UI 也就是说,我认为从长远来看,您可能会在某种程度上研究自定义UI和小部件的工作,虽然这将是大量自定义UI工具的工作,但折衷的是,至少从那时起您可以控制UI,并在进行过程中使其保持最新,您也不必担心Java认为什么是好的UI设计 一些可能的选择,其中没有一个是没有重大痛苦的:
Swing L&F可以更改颜色、边框和间距,甚至可以更改某些渲染。。但真正创建现代用户界面的唯一方法是扔掉“传统的”/“Swing用户界面”,重新开始:<“重新开始”并不是一种“低成本”策略。如果只是寻找不同的L&F,请参阅-可能其中一种是合适的(或者可以修改以使其适合)。如果不是。。可能需要重新考虑“低成本”或使UI感觉更现代。只想指出,仅仅改变外观和感觉可能无法完全解决您的问题。如果您有许多表单使用绝对布局(在旧的业务应用程序中经常如此),您可能需要更改它们,因为文本框和其他内容会变大或变小。所以,如果应用程序中有许多表单,请记住这一点。@Cláudio Swing并没有死。Java并没有死。JavaFX只是另一个利用JVM的运行时/框架。然而,放弃Swing并使用不同的UI框架(不管是什么)是一个非常重要的转换(“高成本”)。另一个在SO.dkatzel、Nimbus上过度编辑的案例与平面设计概念不兼容:-|一个简明而实用的分析,@jefflunt!我们实际上执行选项1(plataform默认值)。我认为我们必须开始准备迁移到选项3(Java8中的JavaFX和CSS)。问题是我们的客户延迟了在生产环境中更新Java的策略。在我阅读了所有答案后,我得出结论,在平面设计概念中还没有基于L&F的设计…@Cláudio基于您的需求,我相信您会迁移(已经迁移了?)对于JavaFX,迟早…@FranklinYu我们的赌注是web开发(html、css、bootstrap和angular)。@Cláudio所以你选择了“核选项”??