有几次我因为建议使用以下方法而受到批评:
在Swing
组件上.当我想在显示的组件之间定义比例时,我没有看到任何替代它们的用法.我被告知这个:
对于布局,答案总是相同的:使用合适的LayoutManager
我在网上搜索了一下,但我没有找到任何关于这个主题的综合分析.所以我有以下问题:
只是(令人惊讶地;-)注意到应用程序在我的win6 +机器上看起来如此拥挤的原因(同样适用于Vista和Win7,都有120dpi设置,jdk6和jdk7):从桌面属性查找的控件字体都有错误的字体家庭和错误的大小:
public static void main(String[] args) {
Font guiFont = (Font) Toolkit.getDefaultToolkit().getDesktopProperty("win.defaultGUI.font");
int guiSize = guiFont.getSize();
Font iconFont = (Font) Toolkit.getDefaultToolkit().getDesktopProperty("win.icon.font");
System.out.println("gui default: " + guiFont + "\nicon default: " + iconFont);
}
Run Code Online (Sandbox Code Playgroud)
输出:
gui default: java.awt.Font[family=Tahoma,name=Tahoma,style=plain,size=13]
icon default: java.awt.Font[family=Segoe UI,name=Segoe UI,style=plain,size=15]
Run Code Online (Sandbox Code Playgroud)
后者几乎用于所有文本的本机应用程序,而Swing使用前者...
问题:
解决最后一个的选项:
编辑
万一有人感兴趣,这是肮脏的黑客:
/**
* Replaces the default gui desktop font property with the icon font
* if the former is smaller.
*
*/
public static void …
Run Code Online (Sandbox Code Playgroud)