Мне просто интересно, какой тип инициализации я должен использовать при создании компонентов в фрейме.Ленивая инициализация против нетерпеливой инициализации в GUI
Скажем, у меня есть кадр, который содержит несколько кнопок:
public class MainFrame extends JFrame {
private JTextField dynamicText; // accessible
public MainFrame() {
initComponents()
}
private void initComponents() {
dynamicText = getText();
JButton open = createButton();
JButton close = createButton();
close.setEnabled(false);
add(open);
add(close);
setVisible(true);
}
private JButton createButton() {
JButton button = new JButton();
// some customizations, like size, icons etc.
return button;
}
private JTextField getText() {
if (this.dynamicText== null) {
this.dynamicText= new JTextField();
// some customization
}
return this.dynamicText;
}
public void updateText() {
// code to update dynamicText
}
}
Это хороший способ сделать это?
Я не вижу смысла делать это таким образом. Компоненты все еще будут инициализированы, как только объект будет создан, поэтому вы ничего не получите от этого. – resueman
Мне просто интересно, какой из них делает код более удобочитаемым и проще отлаживать, на всякий случай. – PuggyLongLegs