如何创建一个存储对象的JComboBox

时间:2018-10-05 16:35:54

标签: java swing object combobox

我正在寻找有关如何创建存储对象的组合框的代码。我看过Java如何无用的使用组合框教程。

具体地说,我将使用播放器对象,每个对象都存储一个字符串名称和一个点数。

到目前为止,我有:

public class PlayerMenu<Player> extends JComboBox<Player> {
    public PlayerMenu() {

    }

据我所知,这将创建一个可以存储Player对象的组合框,但是如何更新此标签上的“标签”以反映它,以及如何获取当前选定的Player对象? / p>

1 个答案:

答案 0 :(得分:1)

您几乎永远都不想扩展JComboBox,而不是为此。

步骤是:

  1. 创建一个JComboBox<Player>对象。我建议不要为此类事情扩展JComboBox,因为仅当您要以类无法处理的方式更改固有行为时,才应使用继承。组合框已经可以很好地处理这种事情,因此请使用其中一个,不要继承它。
  2. 创建一个DefaultComboBoxModel<Player>,并使用此模型在上方设置您的组合框
  3. 用Player对象填充模型
  4. 要很好地显示Player对象,请重写Player的toString()方法,或者更好地为JComboBox提供合适的渲染器,以很好地显示Player对象。有关更多信息,请参见this tutorial