所以我想创建一个JSpinner的子类,以便隐藏所有配置。问题是,当我将此对象放在JFrame上时,我发现UI未找到错误。
我无法找出我错过的东西..
public class Time extends JSpinner {
public Time() {
super();
SpinnerDateModel SpinnerModel = new SpinnerDateModel();
this.setModel(SpinnerModel);
JSpinner.DateEditor dateEditor = new JSpinner.DateEditor(this, "hh:mm a");
this.setEditor(dateEditor);
}
}
答案 0 :(得分:2)
为我工作。试试这样:
class Test {
public static void main(String[] f) {
JFrame myFrame = new JFrame();
myFrame.add(new Time());
myFrame.setVisible(true);
}
}
class Time extends JSpinner {
public Time() {
super();
SpinnerDateModel SpinnerModel = new SpinnerDateModel();
this.setModel(SpinnerModel);
JSpinner.DateEditor dateEditor = new JSpinner.DateEditor(this, "hh:mm a");
this.setEditor(dateEditor);
}
}
答案 1 :(得分:2)
我想创建
JSpinner
的子类,以便隐藏所有配置。
在此背景下扩展JSpinner
很难证明是正确的。作为替代方案,请考虑使用factory method来创建和配置微调器。
private JSpinner createSpinner() {
JSpinner spinner = new JSpinner();
SpinnerDateModel SpinnerModel = new SpinnerDateModel();
spinner.setModel(SpinnerModel);
JSpinner.DateEditor dateEditor = new JSpinner.DateEditor(spinner, "hh:mm a");
spinner.setEditor(dateEditor);
return spinner;
}
审查了一个相关的例子here;有关详细信息,请参阅edit history。