자바 초보자는 여기에 있습니다. 나는 나의 netbeans 프로젝트에 추가 한 JFrame을 가지고 있고, JTable을 생성하는 다음 메소드를 추가했다. 문제는,이 메소드를 호출했을 때, JTable가 표시되지 않는 이유입니다. 어떤 제안?동적으로 추가 된 JTable이 표시되지 않습니다.
public void showFromVectors(Vector colNames, Vector data) {
jt = new javax.swing.JTable(data, colNames);
sp = new javax.swing.JScrollPane(jt);
//NB: "this" refers to my class DBGridForm, which extends JFrame
this.add(sp,java.awt.BorderLayout.CENTER);
this.setSize(640,480);
}
방법은 다음과 같은 상황에서 호출됩니다 DBReader.outMatchesTable()가
static public void outMatchesTable(DBGridForm gf) {
DBReader ddb = new DBReader();
ddb.readMatchesTable(null);
gf.showFromVectors(ddb.lastRsltColNames, ddb.lastRsltData);
}
내 생각 엔 내가 뭔가를 내려다 해요한다으로 정의된다
DBGridForm gf = new DBGridForm(); //DBGridForm extends JFrame
DBReader.outMatchesTable(gf);
gf.setVisible(true);
을 ... 내가 사용하고있는 스윙 클래스 나 Java에 관한 것. 어떤 아이디어?
"this"는 JFrame을 확장하는 DBGridForm을 나타냅니다. 나는 내가 (말하자면) "넷빈으로 JFrame을 만들고, 다음과 같은 방법을 추가했다"고 말한 것이 분명하다고 생각했습니다. 내가 생각했던 것만 큼 명백하지 않은 것처럼 보입니다. – Graza
"this.setLayout (new java.awt.BorderLayout());"을 호출하는 것이 좋습니다. 스크롤 창을 추가하기 전에 트릭을했습니다. netbeans에 의해 추가 된 기본 레이아웃이 뭔가 다른 것이어야한다고 생각합니다. 처음에는 netbeans를 사용한 경험이 있습니다. 이전의 모든 경험은 처음부터 일을하고있었습니다 ... – Graza
기본 레이아웃은 flowlayout입니다. – davenpcj