저는 JTable을 가지고 있습니다. 현재 나는 다음과 같은 코드가 있습니다JTable에 "입력 값"수신기를 추가하는 방법은 무엇입니까?
table.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 1) {
JTable target = (JTable)e.getSource();
int row = target.getSelectedRow();
int value = Integer.parseInt((String) table.getValueAt(row, 0));
int x = 0,y=0;
if (row==1) {x=582;y=483;} else if (row==2) {x=221;y=575;} else if (row==3) {x=231;y=435;}
boundaryFill4(x, y, value, 50);
my.setIcon(new ImageIcon(buffered));
}
}
});
을하지만 내 JTable의 새로운 값 사용자 유형으로 자동으로 업데이트 할 수 있도록해야합니다. 마우스 청취자는 내가 원하는 것을 정확하게하지 않습니다. 유저가 커서를 JTable 셀로 향하면 (자) 갱신됩니다. 문서에서 "입력 값 업데이트"리스너를 찾을 수 없습니다.
나는 keyListener를 사용할 수 있지만이 경우에는 "UPDATE"JButton을 추가해야하지만 JTable을 사용하면 JButton없이 자동으로 업데이트해야합니다.
세 번째 방법은 무한 업데이트 루프를 만드는 것입니다. while (true) {// update} 그러나 이것은 많은 컴퓨터 메모리를 필요로하며 효율적인 방법은 아닙니다.
누구든지 내 코드를 개선하는 방법을 권해 주시겠습니까? 아니면 누구든지 위의 MouseListener를 수정할 수 있습니까? 고맙습니다!
사용자가 키를 입력 할 때마다 또는 사용자가 셀에 값 입력을 완료 할 때마다 수신기를 호출하게 하시겠습니까? – VGR
사용자가 셀 – Buras
에 값 입력을 완료하면 테이블 셀을 편집하는 방식이 아니라 다음과 같습니다. 이는 유형이 모두 완료된 시나리오를 의미합니다. 다시 한 걸음 물러나는 질문은 왜 커밋 - 온 - 타이핑이 필요한가? 마지막 코멘트를 다시 읽으면 혼란 스럽습니다. 사용자가 값을 커밋 할 때 업데이트하면 기본 동작이므로 정확히 무엇을 달성하고 싶습니까? – kleopatra