【问题标题】:Prevent crash if button is clicked before selection in DefaultListModel?如果在 DefaultListModel 中选择之前单击按钮,防止崩溃?
【发布时间】:2012-02-17 06:17:30
【问题描述】:

我正在使用 DefaultListModel 在列表中选择不同的名称。要选择一个名称,用户单击列表中的一个名称,使其突出显示,然后通过按下按钮确认所选名称。我的问题是,如果用户在列表中选择名称之前单击按钮,则会崩溃!

到目前为止,我已经使用了这段代码,但还不足以防止崩溃

if(event.getSource() == buttonSelectCustomer && model1.getSize() > 0)

如果用户在没有任何选择的情况下单击按钮,有没有办法防止崩溃?谢谢!

【问题讨论】:

  • 您还需要共享其余的相关代码。
  • 将此添加到您的条件 (list.getSelectedIndex() != -1)
  • @3D-kreativ 一定要正确设置docs.oracle.com/javase/tutorial/uiswing/components/…,因为你只能设置一个Item或者你可以在Array of selected Items中确定
  • 还可以考虑禁用按钮,直到做出选择。我敦促@Max 发布答案。
  • 您将按钮的setEnabled 方法与列表上的选择侦听器结合使用。每次选择更改时,您都会检查是否选择了某些内容并相应地调整启用状态

标签: java swing nullpointerexception actionlistener defaultlistmodel


【解决方案1】:

将此添加到您的条件(list.getSelectedIndex() != -1)

【讨论】:

    猜你喜欢
    • 2019-08-09
    • 2021-09-04
    • 2016-02-12
    • 2021-02-15
    • 2013-09-23
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 2015-09-08
    相关资源
    最近更新 更多