【发布时间】: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