Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有基于平面设计概念的java外观?_Java_Swing_Look And Feel - Fatal编程技术网

是否有基于平面设计概念的java外观?

是否有基于平面设计概念的java外观?,java,swing,look-and-feel,Java,Swing,Look And Feel,我有5个java工程系统,它们的UI是使用Swing开发的 我们大约在10年前开始开发这些系统,每个系统大约有30万行代码。所有这些系统都在生产环境中 关于这些系统的用户界面,一个困扰我们的问题是,与手机、平板电脑和网站等大型可用用户界面相比,它们看起来很旧 手机、平板电脑和网站UI有什么共同点?它们的外观基于平面设计理念 因此,我们正在开始一项研究,寻找低成本的替代方案,为我们的系统提供面向平面设计的现代外观 我们想到的第一个选择是搜索基于平面设计概念实现的JavaL&F。但我们没有找到 有人

我有5个java工程系统,它们的UI是使用Swing开发的

我们大约在10年前开始开发这些系统,每个系统大约有30万行代码。所有这些系统都在生产环境中

关于这些系统的用户界面,一个困扰我们的问题是,与手机、平板电脑和网站等大型可用用户界面相比,它们看起来很旧

手机、平板电脑和网站UI有什么共同点?它们的外观基于平面设计理念

因此,我们正在开始一项研究,寻找低成本的替代方案,为我们的系统提供面向平面设计的现代外观

我们想到的第一个选择是搜索基于平面设计概念实现的JavaL&F。但我们没有找到

有人知道是否有一种基于java外观的设计,特别是基于平面设计概念的设计吗

致以最良好的祝愿,
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设计

一些可能的选择,其中没有一个是没有重大痛苦的:

  • 选择(您的应用程序看起来像本机平台),但您必须在每个平台上分别调试该应用程序,以确保UI工作一致。至少有了这个选项,如果您将其设置为使用平台默认值,那么无论它在什么操作系统上,该应用程序看起来都将类似于本机应用程序
  • -从长远来看,这可能不值得-我认为,你只是在用一组不太理想的情况换另一组,但至少要了解你的选择
  • -我自己从来没试过-但也许值得一看。但就个人而言,如果可以避免的话,我会避免投入更多的时间将应用程序绑定到Swing。正如你所看到的,这只是那些糟糕的桌面体验之一
  • 以web应用程序的形式交付应用程序,我相信这是一项重大的重新设计,用户只需通过浏览器访问即可。我意识到,这可能是“核选项”,完全不现实,但只是把它扔出去而已
  • 接受它,让你的应用程序继续看起来像垃圾。世界上还有更糟糕的命运

  • 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所以你选择了“核选项”??