2015-02-12 176 views
1

我無法檢查JComboBox是否爲空。下面的代碼不起作用。如何檢查JComboBox是否爲空?

if (t_m_priority.getSelectedItem() != null && 
t_m_priority.getSelectedItem().equals("SELECT")){ 
     msg = "Triage Time Is Not Entered"; 
     saveflag = false; 
    } 
+3

「空」是什麼意思?考慮提供一個[可運行的示例](https://stackoverflow.com/help/mcve),它可以證明你的問題。這將導致更少的混淆和更好的響應 – MadProgrammer 2015-02-12 03:41:43

+0

要檢查jcombobox getselecteditem是否爲「null」。 – Akarsha 2015-02-12 03:48:09

+0

那麼,t_m_priority.getSelectedItem()== null'有什麼問題? – MadProgrammer 2015-02-12 03:52:05

回答

0

JComboBox.getItemCount()

如果該方法返回0,該組件是空的。

if (t_m_priority.getItemCount() == 0) { 
    msg = "Triage Time Is Not Entered"; 
    saveflag = false; 
} 

UPDATE: 試試這個,如果沒有項目在組合框中選擇要檢查。

if(t_m_priority.getSelectedItem() == null) { 
    msg = "Triage Time Is Not Entered"; 
    saveflag = false; 
} 
+0

它不工作! – Akarsha 2015-02-12 03:52:20

+0

我更新了我的答案 – wishman 2015-02-12 03:57:50

3

JComboBox#getSelectedItem沒有項目被選中

您可以使用類似將返回null ...

if (t_m_priority.getSelectedItem() != null && 
    t_m_priority.getSelectedItem().equals("SELECT")) { 

首次檢查,看是否選擇了什麼,然後進行測試,看選擇的項目實際上是什麼...

0

而不是將虛擬項目「選擇」添加到組合框,使用自定義渲染器disp在沒有實際選擇項目時放置「選擇」。然後,您可以檢查組合框的選定索引是否不是-1。

檢出Combo Box Prompt,爲您實現此功能的渲染器。