【问题标题】:Overloaded constructor will get null listModel重载的构造函数将得到 null listModel
【发布时间】:2012-09-27 01:13:37
【问题描述】:

我的重载构造函数似乎有一个相当特殊的问题

在默认构造函数 AutoFleetServicesMain() 中

我有

listModel = new DefaultListModel();
list = new JList(listModel);

并且在重载的构造函数 AutoFleetServicesMain(int i)

我有

listModel.addElement(dbh.findAll());

根据我的输出,默认构造函数在重载之前调用,所以我看不出 listModel 为空的原因

虽然如果我添加 listModel = new DefaultListModel();对于重载的构造函数,它将运行而不会出错,但我仍然没有得到一个列表?

对我能做什么有什么想法吗?

【问题讨论】:

  • 能否请您展示构造函数 - 否则我无法确定我的答案是否有效。

标签: java jlist defaultlistmodel


【解决方案1】:

听起来你想链接你的构造函数,但这不会自动发生。尝试将以下语句添加到 AutoFleetServicesMain(int) 构造函数的开头:

this();

这将在后续逻辑之前调用默认构造函数。有关构造函数链接的更多示例,请参阅此帖子:How do I call one constructor from another in Java?

【讨论】:

  • -_- 愚蠢的金发时刻,我应该调用 DefaultListModel listModel = new DefaultListModel();在全局变量中而不是 DefaultListModel listModel;
  • 我会说你在这方面是正确的 :) 但在我的项目中,我将它链接到另一个视图,但感谢您的帮助 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-24
  • 2011-07-30
相关资源
最近更新 更多