2016-11-28 1 views
0

작동하지최우선 JComboBox에 getSelectedItem 내가이 정적 메서드를 사용하여 내 JComboBox의 getSelectedItem 방법을 대체 할 노력하고있어

JComboBoxTools.setupID_TITLE_ComboBox(J_Users_Profile,"profiles"); 

를하지만 때 실행 일하지 마. 출력 :

visualItems = 관리, 교사, 학생]

IDItems의 = [0,3,5]

선택된 항목 리턴 값은 다음

교사

무엇을 해야할지 모르겠다. 교사의 신분을 밝혀주는 3 가지를 원한다.

this link가 감사 :

전체 프로젝트 중입니다.

+0

그럼 실제로 여기서 무엇을하려고합니까? 선택한 값만 인쇄하고 싶습니까? – Thibstars

+0

내 콤보 박스 항목은 [SuperAdmin, Student, Teacher]입니다. 항목을 선택하면 반환 값은 내 데이터베이스에서 예를 들어 (Student)입니다. 학생 프로필에는 ID가 있습니다. ID를 사용하여 백엔드에서 처리하려고합니다. 프로필 (필자는) (학생) 그 이유는 내가 2 arrylist (백엔드에서 삽입 쿼리를 생성 할 것입니다) 처리를위한 시각적 인 (프론트 엔드) 하나 내 –

+0

내 쿼리는 잘 형성하고 생성하지만, ID가 아닌 프로파일 제목을 가지고 –

답변

0

나는

public static void setupID_TITLE_ComboBox(JComboBox jComboBox, String tableName) throws SQLException { 

    String query = "SELECT ID,TITRE FROM " + tableName + ";"; 
    ResultSet myJComboResultSet = SQLTools.ExecuteQuery(query); 

    HashMap myMap = new HashMap(); 
    while (myJComboResultSet.next()) { 
     myMap.put(myJComboResultSet.getObject("TITRE"), myJComboResultSet.getObject("ID")); 
    } 

    jComboBox.setModel(new MapComboBoxModel(myMap) { 

     @Override 
     public Object getValue(Object selectedItem) { 
      return map_data.get(selectedItem); //To change body of generated methods, choose Tools | Templates. 
     } 

    }); 


} 

mapComboBoxModel

를 사용하여 내 원하는 값 내가 ID를 반환하는 getValue를 오버라이드 얻을.

if (myComponent instanceof JComboBox) { 
      JComboBox jComboBox = (JComboBox) myComponent; 
      MapComboBoxModel model = (MapComboBoxModel) jComboBox.getModel(); 
      values+=""+model.getValue(model.getSelectedItem())+",";     
     } 
관련 문제