2013-03-14 1 views
0

Netbeans에서 UI를 디자인하고 있으며 테이블이 작동하지 않는 데 문제가 있습니다. 나는이 메서드를 호출 할 때의 데이터는 업데이트되지 간다 : 오류 내가 주석 라인에 발생하는스윙 UI보기에서 테이블 데이터를 업데이트 할 때의 문제

public void UpdateTable() { 
    DefaultTableModel TableModel = new DefaultTableModel(); 
    //(new Object[] { "ID", "Name", "Age" "Sex" "Address" "blah" }, 5) 

    TableView.setModel(TableModel); 

    for (Patient k : PatientList) { 
     String TableID = String.valueOf(k.getAccountNumber()); 
     String TableName = k.getName(); 
     String TableAge = String.valueOf(k.getAge()); 
     String TableAddress = k.getAddress(); 
     String TableSex = k.getSex(); 
     String TablePhone = k.getPhone(); 

     Object[] Col = { "Name", "Code", "age", "blah", "Who", "ghg" }; 
     Object[] Data = { TableID, TableName, TableAge, TableAddress, 
       TableSex, TablePhone }; 

     TableModel.addRow(Data, Col); //here 
     JTableHeader header = TableView.getTableHeader(); 

     repaint(); 
    } 

    System.out.println("Model Set"); 
    TableView.setModel(TableModel); 
} 

을 나는이 문제를 해결하는 방법에 관해서는 완전히 혼란 스러워요. 그런 짓을하는 것입니다 DefaultTableModel를 사용하여 "빈"테이블 모델을 만들 수있는 방법의 Java Docs

하나를 읽어

+0

에 대한 How to use tables의 읽기를 제안 처음 TableView.setModel(TableModel);JTableHeader header = TableView.getTableHeader();repaint(); 제거하십시오 질문, 우리 모두에게 호의를 베풀고 전체 질문을 게시하십시오. 사람들이 사냥하게하지 마십시오. 이 질문은 문맥에 맞지 않습니다. 우리는 dignose에 대한 실행 가능한 예제를 제공해야합니다. – MadProgrammer

+0

올바른 트랙에서 이전 스레드의 사용자를 제안합니다. 새 모델을 만들거나 화면에 이미 표시된 것을 업데이트하려고합니까? – MadProgrammer

+0

표준 Java 명명 규칙을 사용하십시오. 변수 이름은 대문자로 시작하지 마십시오. – camickr

답변

1

시작 ...

DefaultTableModel model = new DefaultTableModel(
            new Object[]{"ID", "Name", "Age" "Sex" "Address" "blah"}, 
            0); 

중요합니다. 모델에 기존 행이 없기를 원합니다.

addRow 방법은 두 가지입니다. 그들은 값

를 추가하지 않습니다으로

Object[] Data = { TableID, TableName, TableAge, TableAddress, TableSex, TablePhone }; 
model.addRow(data); 

내가 강하게 당신 포스트 a를 두 배로해야 할 경우 자세한 내용

+0

+1, API를 읽으라고 제안했습니다. @ user2165938 하나의 매개 변수 만 필요로하고 두 개를 제공 할 때 어떻게이 메서드가 작동 할 것으로 기대합니까? – camickr

관련 문제