반응형
(5) 선수 사진 및 정보 세부 확인
기능
1. 우측 리스트에서 이름을 클릭하거나 검색하여 선수의 사진 및 정보를 확인 할 수 있습니다.
2. 우측 최단 버튼들을 이용해 리스트에 표시될 선수들을 포지션별로 필터링하여 정리할 수 있습니다.
3. 검색기록을 확인 할 수 있습니다.
// 이미지 크기 조정 -----------------------------------------------
ImageIcon imageSetSize(ImageIcon icon, int i, int j) { // 이미지 메소드 건들
Image ximg = icon.getImage(); // ImageIcon을 Image로 변환.
Image yimg = ximg.getScaledInstance(i, j, java.awt.Image.SCALE_SMOOTH);
ImageIcon xyimg = new ImageIcon(yimg);
return xyimg;
// -----------------------선수 리스트 추가 메소드 ----------------------------------//
private void panel_1_mainmethod() {
panel_1.setLayout(new GridLayout(0, 1));
model_names = new DefaultListModel<>();
DB.init();
sql_1 = "select * from MAINPLAYER";
sql_2 = "select * from SUBPLAYER";
rs = DB.getResult(sql_1); // 선발 선수
rs1 = DB.getResult(sql_2); // 후보 선수
int i = 0;
try {
model_names.addElement(" [ 선발 선수 ] ");
model_names.addElement("----------------------");
while (rs.next()) // DB 값 뽑기
{
playerNumber[i] = rs.getInt("PN");
player_name[i] = rs.getString("NAME");
player_age[i] = rs.getInt("AGE");
player_height[i] = rs.getInt("HEIGHT");
player_weight[i] = rs.getInt("WEIGHT");
player_position[i] = rs.getString("POSITION");
model_names.addElement("No." + Integer.toString(rs.getInt("PN")) + " " + rs.getString("NAME"));
model_names.addElement("----------------------");
i++;
}
model_names.addElement(" [ 후보 선수 ] ");
model_names.addElement("----------------------");
while (rs1.next()) {
playerNumber[i] = rs1.getInt("PN");
player_name[i] = rs1.getString("NAME");
player_age[i] = rs1.getInt("AGE");
player_height[i] = rs1.getInt("HEIGHT");
player_weight[i] = rs1.getInt("WEIGHT");
player_position[i] = rs1.getString("POSITION");
model_names.addElement("No." + Integer.toString(rs1.getInt("PN")) + " " + rs1.getString("NAME"));
model_names.addElement("----------------------");
i++;
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
rs.close();
rs1.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
list = new JList<>(model_names);
list.addListSelectionListener(this);
list.addMouseListener(this);
sp = new JScrollPane(list, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
sp.getViewport().setBackground(Color.BLACK);
panel_1.add(sp);
}
//우측 필터링 버튼 ----------------------------------------------
if (obj == change_gk_btn) { // GK 필터링
Change_Btn_filtering("GK");
} else if (obj == change_df_btn) { // DF 필터링
Change_Btn_filtering("DF");
} else if (obj == change_mf_btn) { // MF 필터링
Change_Btn_filtering("MF");
} else if (obj == change_pw_btn) { // FW 필터링
Change_Btn_filtering("FW");
// 툴바 검색 기능 -------------------------------
if (obj == tf_toobar) {
vecCombo.add(tf_toobar.getText());
String get_toolbar_text = tf_toobar.getText();
ResultSet rs = DB.getResult(sql_1);
ResultSet rs1 = DB.getResult(sql_2);
try {
while (rs.next()) {
temp = rs.getString("NAME");
ResultSet rs_name = DB.getResult("select * from MAINPLAYER where name = '" + temp + "' ");
if (temp.equals(get_toolbar_text)) {
while (rs_name.next()) {
rs_next(rs_name); // DB값 저장
}
SetText_info();// DB에서 불러온 값 출력
rs_name.close();
}
}
while (rs1.next()) {
temp = rs1.getString("NAME");
ResultSet rs_namesub = DB.getResult("select * from SUBPLAYER where name = '" + temp + "' ");
if (temp.equals(get_toolbar_text)) {
while (rs_namesub.next()) {
rs_next(rs_namesub);
}
SetText_info();
}
rs_namesub.close();
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
rs.close();
rs1.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
//필터링 버튼 기능---------------------------------
private void Change_Btn_filtering(String Change_POSTION) { // 필터링 버튼 메서드
ta_p2.setText("선수 검색 or 리스트를 클릭 하십시오");
ResultSet rs = DB.getResult(sql_1);
ResultSet rs1 = DB.getResult(sql_2);
model_names.removeAllElements();
try {
model_names.addElement("== " + Change_POSTION + " 선발 ==");
model_names.addElement("----------------------");
while (rs.next()) {
temp = rs.getString("POSITION");
if (temp.equals(Change_POSTION)) {
model_names.addElement("No." + Integer.toString(rs.getInt("PN")) + " " + rs.getString("NAME"));
model_names.addElement("----------------------");
}
}
model_names.addElement("== " + Change_POSTION + " 후보 ==");
model_names.addElement("----------------------");
while (rs1.next()) {
temp = rs1.getString("POSITION");
if (temp.equals(Change_POSTION)) {
model_names.addElement("No." + Integer.toString(rs1.getInt("PN")) + " " + rs1.getString("NAME"));
model_names.addElement("----------------------");
}
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
rs.close();
rs1.close();
모든 기능을 포함하진 않고 몇개만 간략하게 뽑았습니다. 자세한 코드가 궁금하신 분은 댓글에 알려주세요!
'자바 스윙 (Java Swing)' 카테고리의 다른 글
Java Swing (7) 리뷰 포함 한국 축구 구단 관리 프로그램 (자바 스윙 프로젝트) (2) | 2023.01.02 |
---|---|
Java Swing (6) 한국 축구 구단 관리 프로그램 (자바 스윙 프로젝트) (0) | 2023.01.02 |
Java Swing (4) 한국 축구 구단 관리 프로그램 (자바 스윙 프로젝트) (0) | 2023.01.01 |
Java Swing (3) 한국 축구 구단 관리 프로그램 (자바 스윙 프로젝트) (0) | 2023.01.01 |
Java Swing (2) 한국 축구 구단 관리 프로그램 (자바 스윙 프로젝트) (0) | 2023.01.01 |