2010-05-03 4 views
0

우리는 비즈니스 레이어에서 최대 절전 모드를 사용하고 있지만 작업은 입니다. jtable을 사용하여 데이터베이스에서 동적 데이터 (스윙)를 표시합니다. 코드 :어떻게 스윙에서 jtable (동적) 데이터베이스 데이터를 표시 할 수 있습니다!

기준 criteria = session.createCriteria (User.class);

// 여기 user.class는 최대 절전 모드에서 pojo 클래스입니다.

목록 studentlist = criteria.list();

System.out.println ("records"+ studentlist);

여기서 데이터는 최대 절전 모드 콘솔에 표시되지만 "jtable"형식으로 데이터를 표현하는 방법입니다.

답변

1

Java에서 자습서 How to use tables을 읽는 것이 좋습니다.

좀 더 구체적인 필요가있는 경우 질문을 편집하여 세부 정보를 추가하십시오.

+0

1, 튜토리얼 또는 특정 방법에 대한 링크가 항상 감사에 JTable가의 모델을 설정합니다. 이 답변에 대한 정보를 제공 할뿐만 아니라 잠재적 인 미래의 문제에 대한 정보를 제공합니다. – camickr

1

나는 절전 모드를 한번도 사용하지 않았지만 제공된 코드를 기반으로 데이터베이스의 데이터가 List로 반환 된 것처럼 보입니다. 따라서 목록의 데이터에 액세스하려면 사용자 정의 TableModel을 만들어야합니다.

BeanTableModel이 도움이 될 수 있습니다.

+0

+1 자세한 내용과 가능한 해결책을 추가하려면 (매우 구체적인 질문에). – Gnoupi

+0

사고는 내 요구 사항과 동일합니다.하지만 이해할 수는 없습니다. 그 요구 사항에 대한 acutal 코드를 보내주십시오. 처럼 : 기준 criteria = session.createCriteria (User.class); \t \t \t 목록 studentlist = criteria.list(); //이 학생 목록에는 데이터 (데이터베이스)가 포함될 수 있습니다. String [] columnNames = { "직원 이름", "전체 이름", "사용자", "패스워드", "부서", "전화"}; // 그러면 어떻게 행 데이터를 만들 수 있습니까? // 긴급한 코드 나 제안을 보내주십시오. – harish

+0

@harish - 귀하의 모든 요구 사항을 모르기 때문에 문제에 "코드를 보내주십시오"해결책이 없습니다. JTable을 생성하고 채우는 데 필요한 모든 정보가 포함되어 있으므로 답변에 제공된 자습서를 확인하십시오. 그것은 당신 측에서의 작업을 요구할 것이고, 몇 줄의 코드로 대답 할 수는 없습니다. – Gnoupi

2

우리는 최대 절전 모드에서 개체 목록을 검색 할 수 있습니다. JTable의 Object를 표시하려면 AbstractTableModel에서 클래스를 상속하고 getRowCount(), getColumnCount() 및 getValueAt() 메소드를 제공하십시오. getColumnName 메소드는 X, Y, Z 형식이 아닌 원하는 컬럼 이름을 표시하기 위해 종종 대체되어야합니다. 일부 데이터베이스와 해당 영구 클래스 Person에 PERSON 테이블이 있다고 가정 해 보겠습니다. PersonTableModel.java의

출처 :

import org.hibernate.*; 
import org.hibernate.cfg.*; 
import java.util.*; 
import javax.swing.table.AbstractTableModel; 



public class PersonTableModel extends AbstractTableModel 
{ 
    private static final long serialVersionUID = 6105842825518764825L; 
    private ArrayList<Person> PersonList; 

    public PersonTableModel() 
    { 
     super(); 
     SessionFactory sf=new Configuration().configure().buildSessionFactory(); 
     Session session=sf.openSession(); 

     Query q=session.createQuery("from Person"); 
     PersonList=new ArrayList<Person>(q.list()); 

     session.close(); 
     sf.close(); 
    } 

    public int getRowCount() 
    { 
     return PersonList.size(); 
    } 

    public int getColumnCount() 
    { 
     return 5; 
    } 

    public Object getValueAt(int rowIndex, int columnIndex) 
    { 
     Person p=PersonList.get(rowIndex); 
     Object[] values=new Object[]{p.getId(),p.getFirstname(),p.getLastname(), 
       p.getAge(),p.getDescription()}; 
     return values[columnIndex]; 
    } 

    @Override 
    public String getColumnName(int column) 
    { 
     String[] columnNames=new String[]{"id","FirstName","LastName","Age","description"}; 
     return columnNames[column]; 
    } 
} 

는 그 다음 PersonTableModel 개체를 생성하고이

관련 문제