我正在寻找有关如何创建存储对象的组合框的代码。我看过Java如何无用的使用组合框教程。
具体地说,我将使用播放器对象,每个对象都存储一个字符串名称和一个点数。
到目前为止,我有:
public class PlayerMenu<Player> extends JComboBox<Player> {
public PlayerMenu() {
}
据我所知,这将创建一个可以存储Player对象的组合框,但是如何更新此标签上的“标签”以反映它,以及如何获取当前选定的Player对象? / p>
答案 0 :(得分:1)
您几乎永远都不想扩展JComboBox,而不是为此。
步骤是:
JComboBox<Player>
对象。我建议不要为此类事情扩展JComboBox,因为仅当您要以类无法处理的方式更改固有行为时,才应使用继承。组合框已经可以很好地处理这种事情,因此请使用其中一个,不要继承它。DefaultComboBoxModel<Player>
,并使用此模型在上方设置您的组合框toString()
方法,或者更好地为JComboBox提供合适的渲染器,以很好地显示Player对象。有关更多信息,请参见this tutorial