【发布时间】:2014-07-07 15:56:56
【问题描述】:
我正在 java swing 中的 UI 设计项目中工作,我希望根据从组合框中选择的值查询数据库。我有五个组合框和一个文本字段。我使用 .getSelectedItem() 将从组合框中选择的值包含在 where 条件中。如果我运行查询,显然组合框中的第一个条目根据我的设计是 Select.. 被选中并且它什么都不返回。我希望第一个条目是空值,这样除非直到我从组合框它保持为空。请帮帮我。谢谢。
【问题讨论】:
我正在 java swing 中的 UI 设计项目中工作,我希望根据从组合框中选择的值查询数据库。我有五个组合框和一个文本字段。我使用 .getSelectedItem() 将从组合框中选择的值包含在 where 条件中。如果我运行查询,显然组合框中的第一个条目根据我的设计是 Select.. 被选中并且它什么都不返回。我希望第一个条目是空值,这样除非直到我从组合框它保持为空。请帮帮我。谢谢。
【问题讨论】:
我希望第一个条目为空值,这样除非我从组合框中选择一个值,否则它保持为空。
您不应在组合框中使用空项。但是,将数据加载到组合框中后,您可以使用:
comboBox.setSelectedIndex(-1);
并且不会在组合框中选择任何项目。
您可能还想考虑使用Combo Box Prompt 类。在用户选择一个项目之前,它将显示组合框的使用“提示”。
【讨论】:
您可以创建一个包装器类来包装实际值,例如:
public class MyComboItem {
public MyComboItem(Object actualValue) {
this.actualValue = actualValue;
}
public Object getActualValue() {
return this.actualValue;
}
}
您可能需要在此类中覆盖 toString(),以便组合框知道如何呈现 items 属性。
【讨论】: