我正在尝试增加应用程序中框架中所有组件的大小和字体。我找到了一些代码,通过以下代码对字体执行此操作:
private static void setUIFont(javax.swing.plaf.FontUIResource f)
{
Enumeration<Object> keys = UIManager.getDefaults().keys();
while (keys.hasMoreElements())
{
Object key = keys.nextElement();
Object value = UIManager.get(key);
if (value instanceof javax.swing.plaf.FontUIResource)
{
UIManager.put(key, f);
}
}
}
然后通过以下方式调用它:
setUIFont (new javax.swing.plaf.FontUIResource(new Font("Tahoma",Font.PLAIN, 14)));
既然它有效,我想我会尝试修改它以使用DimensionUIResource,如下所示:
private static void setUISize(javax.swing.plaf.DimensionUIResource f)
{
Enumeration<Object> keys = UIManager.getDefaults().keys();
while (keys.hasMoreElements())
{
Object key = keys.nextElement();
Object value = UIManager.get(key);
if (value instanceof javax.swing.plaf.DimensionUIResource)
{
UIManager.put(key, f);
}
}
}
并通过以下方式调用:
setUISize (new javax.swing.plaf.DimensionUIResource(200, 200));
不幸的是它不起作用。知道这个代码我做错了什么吗?还有其他方法吗?
答案 0 :(得分:2)
只需打印键和值,然后查看DimensionUIResource
中包含的内容。
只有下面的组件会重新调整大小。
OptionPane.minimumSize : javax.swing.plaf.DimensionUIResource[width=262,height=90]
ProgressBar.verticalSize : javax.swing.plaf.DimensionUIResource[width=12,height=146]
ScrollBar.minimumThumbSize : javax.swing.plaf.DimensionUIResource[width=8,height=8]
ScrollBar.maximumThumbSize : javax.swing.plaf.DimensionUIResource[width=4096,height=4096]
ToolBar.separatorSize : javax.swing.plaf.DimensionUIResource[width=10,height=10]
ProgressBar.horizontalSize : javax.swing.plaf.DimensionUIResource[width=146,height=12]th=146,height=12]