사용자 정의 ListModel
을 일부 데이터를 보유하는 다른 클래스의 내부 클래스로 정의했습니다. ListModel
을 채우기 위해 데이터베이스 파일을 쿼리하고 그 안에있는 데이터를 선택합니다 (아래 코드 부분 참조). 모든 것은 ListModel
을 사용하여 JList
에 멋지게 나타납니다.listmodel의 요소 유형
내가 이해하지 못하는 것은 "검사되지 않거나 안전하지 않은 작업 사용"입니다. 내가 -Xlint 컴파일 할 때, 내가 경고를 얻을 :
public class SalListModel extends DefaultListModel<E=?>{
String defaultSearch="*";
String salName=defaultSearch;
//inner class constructor
public SalListModel(){
try{
//connection creates the database if it does not exist
Class.forName("org.sqlite.JDBC");
Connection c=
DriverManager.getConnection("jdbc:sqlite:"+dbfile);
Statement st=c.createStatement();
String sql;
sql="select "+salName+" from "+tablename+
" ORDER BY "+name[0]+" ASC;"; //alphabetical order
ResultSet rs=st.executeQuery(sql);
while (rs.next()){
addElement(rs.getString(name[0])+" "+rs.getString(cnp[0]));
}
rs.close();
st.close();
c.close();
}
catch (ClassNotFoundException cnfe){
System.out.println("SQL SalListModel class not found: "+
cnfe.getMessage());
}
catch (SQLException sqle){
System.out.println("SalListModel SQL exception:"+
sqle.getMessage());
}
}
}
을 사용하면이 게시물에서 거의 동일한 질문을 사용해야합니다. http://stackoverflow.com/questions/15718217/found-raw-type-missing-return-arguments-for-generic-class – snow8261
답변 내 질문. – Magicsowon