Итак, у меня есть JButton
s, и мне нужно изменить размер шрифта в зависимости от того, насколько велика величина экрана. Размер JButton
s изменяется автоматически, так как я использую макет 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'] (http://docs.oracle.com/javase/tutorial/uiswing/events/componentlistener.html) к кадру, а не к потоку, и переопределить его метод« componentResized ». –