JTable에 대한 사용법은 여기에 있습니다.
http://jfx.wikia.com/wiki/SwingComponents#Table

그 외에 작년에 preview버전에서 구현한 것 같은 소스도 있군요.
http://www.jroller.com/peter_pilgrim/entry/javafx_reintroduce_swing_jtable

Java에서 사용하는 방법이랑 같은 방법으로 하는군요.
근데, JTable에서는 기본적으로는 편집이 가능하게 되어있습니다.
JTable에서 Model을 구현하는데, AbstractTableModel를 상속받아 구현한 모델을 JTable에 적용하는 방법이 있구요. 기본적인 Table기능만 있으면 되면 DefaultTableModel을 이용하는 것 같습니다.
Java에서 편집이 안되게 막으려면 아래와 같은 방법으로 하면 됩니다.
[code]
mod = new DefaultTableModel(data,title) {
public boolean isCellEditable(int rowIndex, int mColIndex) {
return false;
}
};
[/code]
출처: http://nkdk.tistory.com/entry/%EC%9E%90%EB%B0%94-jtable-%EC%97%B4-%EC%A1%B0%EC%A0%95-%EC%95%88%EB%90%98%EA%B3%A0-%EB%82%B4%EC%9A%A9-%EC%88%98%EC%A0%95-%EB%AA%BB%ED%95%98%EA%B2%8C-%ED%95%98%EA%B8%B0
근데, 저 문법을 JavaFX에 적용하려고 하니까-_- 안되더군요-_-
그래서 상속받아서 해결했습니다.

DefaultTableModel을 상속받은 MyTableModel
[code]
public class MyTableModel extends DefaultTableModel {

    override function isCellEditable(row:Integer, col:Integer): Boolean {
        return false;
    }
}
[/code]
사용시에는
[code]
model = MyTableModel {}
model.addColumn("name");
table.setModel(model);
[/code]
이렇게 하면 편집 불가능한 JTable을 만들 수 있습니다.

PS. 분명 누군가가 좋은 데이터그리드를 만들꺼야....-_- JavaFX는 역시 컴포넌트가 부족하군ㅠ
 
Posted by 머드초보
,