[英]Mac JVM rendering JTabbedPane differences between 1.6 and above
这就是JTabbedPane在Java 1.6中的呈现方式:
当使用Java 1.7(或1.8 EA)时,请参见以下页面:
我尝试了系统属性-Dcom.apple.macos.smallTabs = true和-Dcom.apple.smallTabs = true ,但没有成功(或没有效果)。
任何解决方案或黑客对此表示赞赏。
运行本示例 ,我无法使用Java 7再现Mac OS X 10.9.2上显示的效果。我怀疑您忽略了对封闭的Window
pack()
,但是您可以将代码与所示的代码进行比较以供参考。
找到了问题。 在SwingUtilities.invokeLater
块中构建UI 之前 ,我曾调用过以下代码:
import java.awt.Font;
import java.util.ArrayList;
import java.util.Enumeration;
import javax.swing.UIManager;
...
Font f = new Font(Font.DIALOG, Font.PLAIN, 12);
ArrayList<String> excludes = new ArrayList<String>();
Enumeration itr = UIManager.getDefaults().keys();
while(itr.hasMoreElements()){
Object o = itr.nextElement();
if(o instanceof String) {
String key = (String) o;
Object value = UIManager.get (key);
if ((value instanceof javax.swing.plaf.FontUIResource)
&& (!excludes.contains(key))){
UIManager.put (key, f);
}
}
}
我希望所有UI元素在我的应用程序中都具有统一的Font。 当我评论此块时,UI呈现就像Java 6中一样。似乎是Java更高版本中的一个错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.