나는 JCombobox의 드롭 다운 목록에서 하나를 선택하면 선택한 항목이 열리고 있지만 드롭 다운 목록 중 하나에서 "사용자 지정"을 클릭하면 나는 daiolg를 열어야한다. 열지 만 목록이 닫히지 않습니다. 사용자 정의를 클릭하면 드롭 다운을 숨기고 싶습니다. 여기 내 샘플 코드는 ....사용자 정의를 클릭하면 JCombobox의 드롭 다운 목록을 닫는 방법?
private PropertyChangeSupport pcs;///here Iam using ActionListener and PopupMenuListener
public void actionPerformed(ActionEvent ae){
if(ae.getSource() instanceof ComboBox)
{
ComboBox comboBox = (ComboBox)ae.getSource();
Object selectedItem = comboBox.getSelectedItem();
if(selectedItem != null && (!selectedItem.equals("(Custom..)")))
{
pcs.firePropertyChange("ITEM_SELECTED",getCaption(),null);
}}}
public void popupMenuWillBecomeInvisible(PopupMenuEvent e)
{
ComboBox comboBox = (ComboBox)e.getSource();
Object repeatedSelectedItem = comboBox.getSelectedItem();
if(repeatedSelectedItem != null && repeatedSelectedItem.equals("(Custom..)"))
{
invokeCustomFilterDialog(repeatedSelectedItem, comboBox);
}}
private void invokeCustomFilterDialog(Object repeatedSelectedItem, ComboBox comboBox)
{
customFilterDialog.showDialog(); //here Iam opening dailog...
if(customFilterDialog.isCustomFilterAppliedFlag() == true)
{
pcs.firePropertyChange("ITEM_SELECTED",getCaption(),null);
}
else
{comboBox.setSelectedItem(lastSelectedItem);}}
public void popupMenuCanceled(PopupMenuEvent e)
{ }
public void popupMenuWillBecomeVisible(PopupMenuEvent e)
{
ComboBox comboBox = (ComboBox)e.getSource();
this.lastSelectedItem = comboBox.getSelectedItem();
}
를 들어
([SSCCE] (http://sscce.org)). 나는 코드를 컴파일 할조차 수 없다. –