我需要你的帮助来解决这个问题...... 我有一个 JFrame,它的某些组件具有 setFont(font) 函数。 setFont 函数导致 JFrame 加载太慢。有没有替代品。或者我应该在 java 包中导入字体还是什么????。
Font userTextFont=new Font("Joy",Font.BOLD,15);
userText.setFont(userTextFont);
如果我删除它加载很好
userText.setFont(userTextFont);
userText 是一个 JTextField...
短代码(有类似问题):-
import java.awt.Font;
import javax.swing.*;
import java.awt.*;
public class fonttest{
public static void main(String[] args)
{
fonttest f1=new fonttest();
f1.go();
}
public void go()
{
JFrame frame=new JFrame();
JTextField userTextField=new JTextField(40);
Font font=new Font("Impact",Font.BOLD,16);
userTextField.setFont(font);
frame.getContentPane().add(userTextField);
frame.setVisible(true);
frame.setSize(100,100);
}
}
最佳答案
组件加载“缓慢”的问题在于它们尚未经过验证。 窗口
javadoc对于 setVisible
方法说:
If the Window and/or its owner are not yet displayable, both are made displayable. The Window will be validated prior to being made visible.
当您调用 setVisible()
时,所有组件都需要进行验证。您可以在调用 setVisible()
之前验证它们,在 JFrame
上调用 pack()
:
frame.getContentPane().add(userTextField);
frame.pack();
frame.setSize(100,100);
frame.setVisible(true);
关于java - setFont()导致JFrame加载太慢,java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17822370/