【问题标题】:How can I accept a value to be passed, using a method如何使用方法接受要传递的值
【发布时间】:2015-01-24 18:03:24
【问题描述】:

我正在尝试以一种形式(主页)从jList 中选择一个项目,并从ArrayList 中提取数据并将数据以不同的形式(详细信息)输出到单独的jTextFields。以下是我尝试使用的方法(我知道的不多!)。

public void passObjectData()
{
    int i = proObjList.getSelectedIndex();
}

我知道一旦方法完成,我可以在下一个表单的表单加载方法上调用它,但我一直不知道如何让方法正确。

我不知道您还需要什么其他代码(如果有的话)。

【问题讨论】:

  • 你的问题不清楚。你能解释一下吗?
  • 请把swingjlistjtextfield标签放回去。这些是正确的。 @MarounMaroun
  • @dic19 我认为问题在于将值传递给 Java 中的方法,这与 Swing 无关。如果您不这么认为,请相应地编辑问题。
  • 好的,我试试。我有一个 JavaSwing 应用程序,其中包含许多类和许多 jFrame 表单。我已将数据硬编码到 ArrayList 中,并将名称输出到 jList。现在我想获取存储在 ArrayList 中的一个人的所有数据(姓名、地址、电话号码等),并将这些信息放入 jTextFields。如果您以相同的形式进行操作,这很容易!但我不是,jTextFields 与 jList 的形式不同。那么如何使用 .getSelectedIndex() 函数选择 jList 中的项目并使用 jTextFields 将所有相关数据显示到不同的表单?

标签: java swing jframe jtextfield jlist


【解决方案1】:

我已将数据硬编码到 ArrayList 中,并将名称输出到 jList。现在我想获取存储的一个人的所有数据 在ArrayList(姓名、地址、电话号码等)中并输入此信息 进入 jTextFields。

据我了解您的问题,此 ArrayList 是用于填充 ListModel 的不可靠数据结构,您希望从 JList 获取所选索引以检索存储在该数组列表中的正确对象。在这种情况下,您可以:

  • 有一个名为 Person 的域类来保存此人的数据(姓名、地址等)
  • Person 对象添加到ListModel
  • 提供适当的ListCellRenderer 以显示此人的姓名。
  • 使用JList#getSelectedValue()获取选中的Person
  • 将此选定的Person 对象传递给文本字段的表单并相应地更新它们。
  • 可选:将ListSelectionListener 附加到JList 以监听用户的选择更改并自动执行上一步。

请参阅此方法的前 3 点,以 here 为例(注意:该示例使用 JComboBox,但同样适用于 JList)。

建议阅读

旁注

不确定您所说的表格是否是指JFrames,但以防万一:请注意,我们应避免使用多个JFrames。看到这个话题:The Use of Multiple JFrames, Good/Bad Practice?

【讨论】:

  • 讨厌这里的那些规则-1
猜你喜欢
  • 2016-07-31
  • 1970-01-01
  • 2018-04-19
  • 1970-01-01
  • 1970-01-01
  • 2016-01-26
  • 2020-05-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多