지난 이틀간 JTable
으로 자바 애플리케이션에서 데이터보기 테이블을 만들려고했습니다.JTable 헤더가 설정되지 않았습니다.
Netbeans 바인딩 옵션이 작동하지 않지만 신경 쓰지 않고 자신 만의 TableModel
을 생성 할 수있었습니다.
데이터가 표에 표시되지만 헤더에는 항상 각 열에 대해 문자 (A, B, C ...) 만 포함됩니다. 한순간에 모든 것이 잘 작동했지만 그때 특정 테이블에 대해 다른 모델을 설정하고 싶었고 완전히 새로운 JPanel
을 만들고 처음부터 다시 설정해도 레이블이 올바르게 표시되지 않습니다.
이 내 사용자 정의의 TableModel 클래스
public class MyTableModel extends AbstractTableModel{
private ArrayList<Options> list;
String[] headers;
public MyTableModel(ArrayList<Options> list, String[] headers) {
this.list = list;
this.headers = headers;
}
@Override
public int getRowCount() {
return this.list.size();
}
@Override
public int getColumnCount() {
return headers.length;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
if(columnIndex == 0) {
return list.get(rowIndex).getId();
}
if(columnIndex == 1) {
return list.get(rowIndex).getText();
}
else {
return null;
}
} }
입니다 그리고 이것은 내가 특정의 또 다른 모델을 설정하고 싶었
ArrayList<Options> list;
String[] optionHeaders = {"id", "text"};
public table2frame() {
initComponents();
list = (ArrayList) zadanie_2_app.Zadanie_2_app.findAll();
JTable table2 = new JTable(new MyTableModel(list, optionHeaders));}
열을 설정하지 않았습니다. – Makky