728x90
JTable 생성
public class JTableTest extends JFrame{
JTable table;
JScrollPane sc;
public JTableTest() {
//테이블 데이터
//Object배열은 모든 데이터를 넣을 수 있음
Object[] columnTitle = {"이름","나이","직업"};
Object[][] rowNames = {
// 0열 1열 2열
{"홍길동",13,"학생"},
{"길라임",15,"학생"},
{"김주원",17,"학생"}
};
//초기화, 설정
table = new JTable(rowNames,columnTitle)
sc = new JScrollPane(table);
add(sc);
setBounds(400,300,300,300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JTableTest();
}
}
JTable 내용수정 불가 설정
table = new JTable(rowNames,columnTitle) { //수정불가
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
JTable에서 데이터 얻어서 화면에 출력하기
Object nameValue = table.getValueAt(1,0);
System.out.println("nameValue=" + nameValue);
특정데이터 변경
//table.setValueAt(Object aValue, int row, int columne); //aValue : 변경할 데이터
table.setValueAt("차라임",1,0)
모든사람의 이름을 콘솔에 출력하기
for(int i = 0; i<table.getRowCount(); i++){
System.out.println(table.getValueAt(i,0);
}
DefaultTableModel 새로운 행 추가
DefaultTableModel 클래스 사용이유
: JTable에서는 추가,삭제기능을 사용하지 못하지만 dtm 사용시 addRow(), removeRow() 사용 가능
//table.setValueAt("김유신",3,0) -> 에러. 존재하지 않는 행을 참조
//DefaultTableModel(Object\[\]\[\] data, Object\[\] columnNames)
DefaultTableModel dtm = new DefaultTableModel(rowData,columnTitle);
Object[] newRow = {"김유신,13,"화랑"};
dtm.addRow(newRow);
Vector v = new Vector<>();
v.add("강감찬");
v.add(28);
v.add("장군");
dtm.addRow(v);
DefaultTableModel 행 삭제
dtm.removeRow(2); //김주원 행 삭제
DefaultTableModel 활용
public class MainView extends JFrame{
DefaultTableModel dtm;
public JTable table;
JScrollPane scroll_table;
public MainView(){
//---JTable----
//배열사용
Object[][] rowData = new Object[0][4];
String[] columnTitle={"번호","이름","나이","직업"};
dtm = new DefaultTableModel(rowData,columnTitle);
table = new JTable(dtm);
scroll_table = new JScrollPane(table);
//추가
add(croll_table)
}
}
'Web develop > JAVA' 카테고리의 다른 글
[JAVA] 자바Swing 숫자야구게임 예제 (2) | 2019.05.02 |
---|---|
[JAVA] 자바 Swing Event 사용 및 예제 (0) | 2019.05.02 |
[JAVA] 자바 GUI Event 처리 방법 (0) | 2019.04.30 |
[JAVA] 자바 GUI (0) | 2019.04.29 |
[JAVA] 자바 내부클래스(Inner Class/비 정적 중첩클래스) (0) | 2019.04.29 |