使用来自 Swing 的组件构建其 GUI 的 Java 编写的程序在所有操作系统上的显示是否完全相同?
编辑:让我这样问这个问题:使用 Java 是否可以设计一个保证在所有平台上显示完全相同的 GUI?
使用来自 Swing 的组件构建其 GUI 的 Java 编写的程序在所有操作系统上的显示是否完全相同?
编辑:让我这样问这个问题:使用 Java 是否可以设计一个保证在所有平台上显示完全相同的 GUI?
差不多吧。但是使用 UIManager 您可以根据操作系统的主题确定主题。
例子:
UIManager.LookAndFeelInfo looks[] = UIManager.getInstalledLookAndFeels();
try{
//0-Swing, 1-Mac, 2-?, 3-Windows, 4-Old Windows
UIManager.setLookAndFeel(looks[3].getClassName());
}catch(Exception e){
System.out.println(e.getMessage());
}
是的,只要您使用 swing 并且没有特定于平台的代码,它们就会。
那就是说:那时他们不会感到“自然”。SWT 在那里好一点
简短地说,默认情况下它看起来会有所不同,因为swing使用系统外观,但您可以覆盖它(http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html),在这种情况下是应用程序在具有相同外观和感觉的所有平台上看起来都一样,或者您可以禁用一些外观和感觉功能,例如 -Dswing.noxp=true