Daily coding
Java Basic : day 15 - AWT & SWING 9 : Table과 ScrollPane 본문
Language/Java_basic
Java Basic : day 15 - AWT & SWING 9 : Table과 ScrollPane
sunnnkim 2019. 12. 8. 16:07Table과 ScrollPane
테이블 만들기
1. JTable 객체 생성시에 테이블 데이터와 컬럼 데이터를 넣어준다!
< 예시 >
// row data는 2차원 배열로, 테이블 데이터를 작성해준다.
// 2차원배열의 열의 개수 (데이터 항목의 갯수) 는 컬럼 데이터와 개수를 맞춰줘야 한다.
String[][] rowData = { // -----> 행데이터 값 : 4 , 열 데이터 값 : 3
{ "1001" , "가", "데이터1" } ,
{ "1002" , "나", "데이터2" } ,
{ "1003" , "다", "데이터3" } ,
{ "1004" , "라", "데이터4" }
};
String[] columnData = {
"번호", "이름", "값" // ----> 열데이터 값 3개
};
JTable tabel = new JTabel( rowData, columnData );
package day15.Lecture01_AWT.test14_table;
import java.awt.FlowLayout;
import java.awt.Label;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
// JTable
// 게시판
public class WindowTest extends JFrame implements WindowListener, MouseListener {
JTable table;
JScrollPane scrPane;
String columnNames[] = {
"상품번호", "상품명", "상품가격", "상품회사"
};
Object rowDatas[][] = {
{ 1001,"맛동산",1000,"오리온"},
{ 1002,"초코파이",1200,"해태"},
{ 1003,"감자깡",1500,"롯데"}
}; // 데이터를 삽입하는 배열
public WindowTest() {
setLayout(new FlowLayout());
table = new JTable(rowDatas, columnNames);
//(object) rowData: 테이블안에 자료, ColumName: 테이블의 참조
table.addMouseListener(this);
// 테이블 데이터 클릭 시 반응 만들기
// 마우스 리스너 추가해서 마우스 클릭했을 때 이벤트
// 반응하는 건 테이블이기 때문에 테이블에 마우스 리스너 달아야함
scrPane = new JScrollPane(table);
add(scrPane);
// 상품명 나오게 하기
Label label = new Label();
label.setSize(200, 100);
label.setLocation(10, 400);
add(label);
setSize(800,600);
setLocation(0, 0);
addWindowListener(this);
setVisible(true);
}
@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
// 마우스 클릭 시 이벤트 (데이터 정보 나오도록 메세지 창 만들기)
int rowNum = table.getSelectedRow();
String str = (int)rowDatas[rowNum][0] +"-"+
(String)rowDatas[rowNum][1] + "-" +(int)rowDatas[rowNum][2] +"-" +(String)rowDatas[rowNum][3];
JOptionPane.showMessageDialog(null, str);
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
}
'Language > Java_basic' 카테고리의 다른 글
Java Basic : day 14 - AWT & SWING 11 : 콤보박스 Choice/ComboBox (0) | 2019.12.08 |
---|---|
Java Basic : day 14 - AWT & SWING 10 : 체크박스와 라디오박스 (0) | 2019.12.08 |
Java Basic : day 14 - AWT & SWING 8 : 마우스리스너 (0) | 2019.12.08 |
Java Basic : day 14 - AWT & SWING 7 : Window Change (0) | 2019.12.08 |
Java Basic : day 14 - AWT & SWING 6 : TextField & TextArea (0) | 2019.12.08 |