(소스첨부)테이블을 생성한 후 그걸 지울려면 어떤 명령을 써야 될까요?
유미
public class KooForm extends JFrame implements ActionListener
{
.
.
.
.
.
생략
.
.
.
//테이블 생성
JTable table = new JTable(data, col_names);
JScrollPane scrollPane = new JScrollPane(table);
getContentPane().add(scrollPane, BorderLayout.NORTH);
getContentPane().add(new JScrollPane(table));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Frame의 타이틀 바 내용
setTitle(성적);
// Frame의 사이즈 고정
setResizable(true);
// Frame 초기 사이즈 설정
setSize(500,400);
// Frame이 화면에 나타나게 함
show();}
// 전체보기화면 - 기존의 테이블을 없애도 다시 테이블을 뿌려줄려고 합니다.
public void AllForm(){
dispose(); // --- 이 부분에서 지워야 될 듯한데...
JTable Newtable = new JTable(S_Student, col_names);
JScrollPane scrollPane = new JScrollPane(Newtable);
getContentPane().add(scrollPane, BorderLayout.NORTH);
getContentPane().add(new JScrollPane(Newtable));
show();
}
.
.
.
.
생략
.
.
.
}
처음 실행되면 table라는 테이블표가 생성됩니다.
다음에 AllForm() 이 실행될 경우 Newtable이라는 테이블표가 생성됩니다.
근데 Newtable이 기존 table위에 덮어 뿌려지더라고요.
dispose() 이게 제가 알기론 지우는 명령으로 아는데...이걸 table.dispose();로 해봐도 명령이 먹질 않는데
AllForm() 이 실행될 경우 기존의 table이라는 테이블표를 지우고 그 자리에 Newtable이라는 테이블표가 생성되게 할려면
어떻게 해야 할 까요? 부탁 드립니다.dispose(); // --- 이 부분에서 지워야 될 듯한데...
-
수리 2024-06-03
죄송한데...실제로 해보니깐
fireTableDataChanged(); --- cannot resolve symbol 에러가 뜨네요,,
사용법 좀 알려주시면 안되겠습니까?? 제가 가진 책에는 없네요..인터넷도 그렇구... -
미리별 2024-06-03
stoutman님 좋은 정보 감사합니다.
fireTableDataChanged()를 사용해서 테이블의 데이터값만 바꾼다고 하셨는데...이미
JTable table = new JTable(data, col_names);
JTable Newtable = new JTable(S_Student, col_names); 이렇게
JTable이 선언되어 있는데...
JTable로 생성된 table의 데이터가 date - S_Student 로만 업데이트 될 수 있다 -
누리봄 2024-06-03
왜 table을 생성했다가 지우고 다시 생성해야할 필요가 있는지 모르겠습니다. (저의 경우에는 그럴 이유가 한번도 없었기에)
Jtable의 경우 swing 콤포넌트 중에서 생성과 작동중에 메모리와, CPU를 가장 많이 사용하는 것중의 하나로알고 있습니다. 이런 덩치큰놈을 생성과 소거를 반복하는 것은 도움이 되지않을 것같고, 된다하더라도, 아마 화면이 심하게 껌뻑거는 현상이 발생해 미관상으로도 좋지않을듯 싶습니다.
님의 글을 읽고 jtable관련메서드를 -
유린 2024-06-03
밑에 KooForm Form = new KooForm 으로 선언해서 table 대신에 Form.table이나 this.table을 적어도
인식을 못하네요.. -
두온 2024-06-03
감사합니다
근데
getContentPane().remove(table);
table이게 public void AllForm(){ 안에서 인식을 못하는데요...ㅜㅜ -
앨런 2024-06-03
dispose() 지워면 안되네요... dispose() 밑줄에다 적어주세요
-
유키 2024-06-03
dispose() 지우고 그자리에 getContentPane().remove(table); 하면 되지 않을까요.. getContentPane().add(..) 각 두번씩 줬네요.. 밑에꺼는 지워줘도 될듯한데...
-
맨삶이 2024-06-03
허걱... 요새 오라클을 하는 중이라 그런지 테이블이라 해서 디비 생각했음....ㅡ.ㅡ