0
제 질문은 목록 항목을 두 번 클릭하여 JList를 다시 칠할 수있는 방법입니다. 저를 도와주세요. 저의 첫 자바 프로그래머입니다.항목을 누른 후 어떻게 JList를 다시 칠할 수 있습니까?
여기 내에서 JList 냈다 :
MDAY 및 mtime에 기본 모델과의 JList
, 단지 만들 목록을 다시하는 당신은 need't JList의
liste = new JList(mday);
System.out.println(mday);
list.frame.add(liste, BorderLayout.CENTER);
list.frame.validate();
list.frame.repaint();
liste.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent evt) {
liste0 = (JList) evt.getSource();
if (evt.getClickCount() == 2) {
int index = liste0.locationToIndex(evt.getPoint());
index = index + 1;
System.out.println(index);
try {
c = DriverManager.getConnection(DB_PATH);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Opened database successfully");
try {
stmt = c.createStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String sql = "SELECT * from playscr WHERE _id LIKE " + index;
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DefaultListModel<String> mtime = new DefaultListModel<String>();
try {
while(rs.next()){
String name = "";
String zeit = rs.getString("zeit");
String daten = "";
GetData data = new GetData(name, zeit, daten);
mtime.addElement(data.toString());
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
liste = new JList(mtime);
System.out.println(mtime);
list.frame.revalidate();
list.frame.repaint();
list.frame.add(liste, BorderLayout.CENTER);
}
}
});