У меня есть класс, который расширяет JPanel с несколькими кнопками на нем. Я хотел бы иметь возможность установить шрифт на всех кнопках одним вызовом setFont (шрифт шрифта); Я определил метод SetFont в классе JPanel как таковой:Передача шрифта компонентам на JPanel
public class MyPanel extends JPanel {
private JButton[] buttons = new JButton[10];
public MyPanel() {
for(int i = 0; i < 10; i++) {
buttons[i] = new JButton(""+i);
this.add(buttons[i]);
}
}
public void setFont(Font font) {
if(buttons != null) {
for(JButton b : buttons) {
b.setFont(font);
}
}
}
}
Однако шрифт на кнопке не меняется. Я понимаю, что setFont вызывается конструктором JPanel, но я не понимаю, почему, когда я называю это ясно ПОСЛЕ создания объекта MyPanel, шрифты не передаются кнопкам.
Спасибо всем!
Brent
Если вам нужна дополнительная помощь, опубликуйте свой SSCCE (http://sscce.org) – camickr