쉽게 번 돈은 쉽게 날려버린다고.. 이거 어딘가에서 쉽게 찾아 사용하던 코드라 그런지.. 또 사용할려고 하니.. 도통 기억이 안남..

보통 테이블에서 셀을 수정하다가(셀이 editing 상태임) 버튼을 눌러서 수정된 값을 저장할려고 시도하는 경우가 있다. 그런데 JTable 이라는 넘은 셀이 수정중이면 엔터를 치거나, 아니면 포커스를 변경해줘야지 값이 변경된다. 물론 사용자한테 책임을 떠 넘기고 '니들이 사용할 때 잘 사용해라' 라고 할 수 있겠지만, 보통은 이런식으로 작업을 하는 사람이 없을 듯 싶다.

위 문제를 해결하는 방법을 또 찾기 싫어서 여기에 올림 .. 쩌ㅃ~

1. editCellAt() 를 이용해서 현재 수정중인 값을 가져온다.

2. setValueAt() 넘을 사용해서 가져온 값으로 변경하면 땡.


editCellAt()   : 현재 수정중인 셀의 값을 가져오는 넘.

setValueAt() : 특정 셀에 값을 삽입한다.

editingStopped()  : 처음에 이넘을 사용하면 될듯 싶었지만. 저넘은 단순히 에디팅이 끝났다고 알려주기만 하는듯 싶다. 뭐.. 엄밀히 말해서 셀의 에디팅 상태를 종료하는 넘으로 해석하면 될듯.

 

table.setValueAt(table.editCellAt(table.getSelectedRow(), table.getSelectedColumn()), table.getSelectedRow(), table.getSelectedColumn());

table.editingStopped(null);

Posted by 짱가쟁이