编辑JTextField时是否可以禁用JComboBox?

时间:2011-05-16 16:27:11

标签: java swing user-interface

我正在制作一张表格,我希望有一个下拉框,您可以选择一个人。它会在下面的文本字段中显示其存储的信息,但只要您编辑其中一个文本字段,它就会禁用下拉框,直到您保存或取消更改为止。这样做的目的是防止用户编辑某些内容,认为已保存,然后更改为其他人并丢失其更改。

2 个答案:

答案 0 :(得分:3)

将DocumentListener添加到所有文本字段。每当更改任何数据时,您都会禁用组合框。保存数据后,启用组合框。

有关详细信息和示例,请参见如何编写DocumentListener

更好的方法可能是使用要更改的数据弹出JDialog。

答案 1 :(得分:1)

动态禁用组合框似乎不是常见做法。也许您可以向用户指示何时保存了某些内容,并且如果用户在输入信息后尝试切换人员,您可以通知他们并询问他们是否要继续并丢失数据。是否有些用户无法输入数据,尝试使用已禁用的组合框,并且不知道为什么禁用它,他们会认为您的程序已损坏?