Java setFont会减慢程序的执行速度
我有一个类,我注意到如果我使用Java setFont会减慢程序的执行速度,java,fonts,awt,Java,Fonts,Awt,我有一个类,我注意到如果我使用setFont(…)它会减慢整个程序的执行速度 public class MenuState extends GameState { private String[] options = { "Start ", "Options","Quit"}; private int currentSelection; private Font font; protected MenuState(GameStateManager gameStateManager) {
setFont(…)
它会减慢整个程序的执行速度
public class MenuState extends GameState {
private String[] options = { "Start ", "Options","Quit"};
private int currentSelection;
private Font font;
protected MenuState(GameStateManager gameStateManager) {
super(gameStateManager);
init();
}
public void init() {
currentSelection = 0;
font = new Font("Times New Roman", Font.BOLD, 30);
}
public void update() {
}
public void render(Graphics graphic) {
for (int i = 0; i < options.length; i++) {
if (i == currentSelection) {
graphic.setColor(Color.GREEN);
} else {
graphic.setColor(Color.BLACK);
}
if (i == 0) {
graphic.setFont(font);
graphic.drawString(options[i],
GuiDimension.WIDTH.getValue() / 2 - 47, 500);
}
if (i == 1) {
graphic.setFont(font);
graphic.drawString(options[i],
GuiDimension.WIDTH.getValue() / 2 - 107, 550);
}
if (i == 2) {
graphic.setFont(font);
graphic.drawString(options[i],
GuiDimension.WIDTH.getValue() / 2 - 47, 600);
}
}
}
public类MenuState扩展游戏状态{
私有字符串[]选项={“开始”、“选项”、“退出”};
私人选择;
专用字体;
受保护的菜单状态(GameStateManager GameStateManager){
超级(游戏经理);
init();
}
公共void init(){
currentSelection=0;
字体=新字体(“Times new Roman”,font.BOLD,30);
}
公共无效更新(){
}
公共空间渲染(图形){
对于(int i=0;i
现在,如果我评论这一行:
graphic.setFont(font);
有人能告诉我原因吗?不知道--但是你需要调用
setFont()
三次吗?为什么不把它从for循环中移出来,只调用一次呢?就是这样!谢谢,我没想过。