我只是想知道在框架中创建组件时应该使用哪种类型的初始化。
我们说我的框架包含几个按钮:
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
}
}
这是一个很好的方法吗?
答案 0 :(得分:1)
您需要考虑以下因素来确定最适合使用的策略:
答案 1 :(得分:1)
选择取决于您的显示要求和初始化延迟。为了获得最佳用户体验,一般建议考虑对需要时间填充或在显示中不立即需要的组件进行延迟初始化。否则,为了简单起见,坚持热切的初始化。