【发布时间】:2015-09-13 22:50:14
【问题描述】:
所以,我有一些JButtons,我需要根据屏幕的大小来更改字体大小。 JButtons 的大小会自动更改,因为我使用的是 GridLayout 布局。我尝试了以下一些代码,在线程中运行:
@Override
public void run() {
int i = 0;
int l = 0;
while(true) {
for(int x=0; x<buttons.length; x++) {
while(true) {
int size = 300;
size--;
Font font = buttons[x].getFont().deriveFont((float) size);
if(font.canDisplayUpTo(buttons[x].getText()) == 1) {
buttons[x].setFont(font);
o(font.getSize());
break;
}
}
buttons[x].setText(String.valueOf( l ));
}
l++;
try {
Thread.sleep(100);
} catch (InterruptedException ex) {}
}
}
【问题讨论】:
-
您可能希望将
ComponentListener添加到框架而不是线程并覆盖它的componentResized方法。