0
が動作していないオーバーライド:それを実行したときJComboBoxのgetSelectedItemが、私はこの静的メソッド使用して、私のJComboBoxのgetSelectedItemメソッドをオーバーライドしようとしているmは
JComboBoxTools.setupID_TITLE_ComboBox(J_Users_Profile,"profiles");
しかし:
public static void setupID_TITLE_ComboBox(JComboBox jComboBox, String tableName) throws SQLException {
// query to select ID and TITLE from profiles table
String query = "SELECT ID,TITRE FROM " + tableName + ";";
ResultSet myJComboResultSet = SQLTools.ExecuteQuery(query);
ArrayList visualItems = new ArrayList(); // the Items of my combobox [item1,item2]
ArrayList idItems = new ArrayList(); // the corresponding IDs for each item [id1,id2]
while (myJComboResultSet.next()) {
visualItems.add(myJComboResultSet.getObject("TITRE")); // filling items set
idItems.add(myJComboResultSet.getObject("ID")); // filling IDs set
}
System.out.println("IDItems=" + idItems); // checking that my Items are filled
System.out.println("visualItems=" + visualItems); // checking that my IDs are filled
// creating a combobox of previous items
jComboBox = new JComboBox(visualItems.toArray()) {
ArrayList values = idItems;
// overriding the getSelectedItem to return the corresponding selected item's ID
@Override
public Object getSelectedItem() {
Object get = values.get(super.getSelectedIndex());
System.out.println("get = " + get);
return get;
}
};
}
を、私は別のフレームからこのメソッドを呼び出すメートル動作しません。 出力:
visualItems = [管理者、教師、生徒]
IDItems = [0,3,5]
選択された項目の戻り値は:教師
何をすべきかわからない教師のIDである3を返すようにしたい。
this linkありがとう:
フルプロジェクトが下にあります。私はmapComboBoxModelに
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.
}
});
}
を使用して、私の希望する値を取得
ここで実際に何を達成しようとしていますか?選択した値を印刷したいだけですか? – Thibstars
私のコンボボックスのアイテムは、アイテムが選択されたときに[SuperAdmin、Student、Teacher]です。データベースの戻り値の例(Student)です。学生プロフィールはIDを持っています。プロファイル(私はバックエンドで挿入クエリを生成します) –
私のクエリは、整形され、生成されたが、私はプロファイルタイトルではないIDをしたいです: –