클래스 A에 메소드가 있고 클래스 B (기본 GUI)에서 해당 메소드를 호출하려고하지만 클래스 A가 클래스 B 내의 jTable에서 일부 작업을 수행해야합니다.jTable 업데이트 - 매개 변수로 jTable 전달
DB에 연결해야하기 때문에이 메서드를 클래스 B 내에 두지 않고 GUI에 그러한 메서드를 저장하지 않으려합니다. 나는 그것이 모델의 설정 유형의 JTable의 매개 변수를 전달해야
public void populatejTable(TableModel x) {
try {
String stmt = "SELECT * FROM APP.DATAVAULT";
PreparedStatement ps = Main.getPreparedStatement(stmt);
ResultSet rs = ps.executeQuery();
x.setModel(DbUtils.resultSetToTableModel(rs));
ps.close();
rs.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
: 여기
는 클래스 A에서 코드입니다. 나는 String, int 등의 모든 다른 일반적인 데이터 유형을 시도했다. 심지어 jTable과 TableModel을 시도했다.나는이 일을 실제로하지 않겠다고 생각하지만,이 문제를 해결하기위한 더 좋은 방법은 없을 것입니다. 여기
코드 (내 GUI) 클래스 B 내에서이 메소드를 호출한다 :
//table
Account acc = new Account();
acc.populatejTable(datavaultjTable);
어떻게이 일을 가야 하는가? 클래스 A의 코드는 컴파일되지 않습니다 OS X의
좋습니다. 덕분에 많은 일이 발생하지 않았을 것입니다. GUI 빌더로 만든 jTables를 채우기 위해 온라인에서 찾은 .jar을 사용하면서 코드가 컴파일되지 않습니다. 드로잉 보드로 돌아 가기! 코드 예제를 주셔서 감사합니다. –
MyTableModel이 아닌 Private TableModel이 될까요? 나는 여기서 뭔가를 놓치고있는 것을 편집하고 싶지는 않지만 99 % 확신합니다. –
TableModel은 인터페이스입니다. 이 인터페이스의 구현을 사용해야합니다. MyTableModel은'Product'의 인스턴스를 표시하고 테이블에 의해 표시되는 제품을 대체하는'setProducts()'메소드를 가진 그런 구현물 (예를 들어 AbstractTableModel을 확장)이 될 것입니다. –