为所有组件 Java 设置相同的字体
我想为 JPanel
中的所有组件设置特定字体,但我更喜欢这个问题更笼统,不限于 JPanel.如何将字体设置为容器(JFrame 或 JPanel)中的组件列表?
I want to set a specific font for all component in a JPanel
but I prefer that the question is still more general and not limited to the JPanel. How can I set the font to a list of component in a container (JFrame or JPanel)?
推荐答案
这里有一个简单的方法,可以让你为任意Container下的整个组件树指定Font(或者只是一个简单的Component,没关系):
Here is a simple method that allows you to specify Font to the whole components tree under any Container (or just a simple Component, doesn't matter):
public static void changeFont ( Component component, Font font )
{
component.setFont ( font );
if ( component instanceof Container )
{
for ( Component child : ( ( Container ) component ).getComponents () )
{
changeFont ( child, font );
}
}
}
只需将您的面板和特定字体传递到此方法中,您还将重构所有子元素.
Simply pass your panel and specific Font into this method and you will get all childs refactored aswell.
相关文章