Błędne połączenia do setValueAt z JTables w Javie 7 na OS X Lion?
Po uaktualnieniu do Lion i Java 7 mam problemy z JTables. Kiedy używam klawiszy strzałek, aby przesunąć zaznaczenie dookoła, jego wywołaniesetValueAt()
z pustymi ciągami jako wartością edycji.
Aby to przetestować, stworzyłem prostą ramkę JFrame z tabelą i ustawiłem następującą klasę jako jej model.
public class SpyModel extends AbstractTableModel {
public int getColumnCount() { return 5; }
public int getRowCount() { return 5; }
public Object getValueAt(int rowIndex, int columnIndex) { return ""; }
public boolean isCellEditable(int rowIndex, int columnIndex) { return true; }
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
System.out.println(aValue == null ? "null" : "\"" + aValue + "\"");
}
}
Kiedy uruchamiam go w Javie 6, a następnie za pomocą klawiszy strzałek poruszam się po nim. to działa dobrze. na przykład
$ java -version
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b03-424-11M3720)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03-424, mixed mode)
$ java -jar JavaApplication5.jar
Jednak po uruchomieniu go pod Java 7 (na Lion) i przeniesieniu zaznaczenia za pomocą klawiszy strzałek, kończy się to wywołaniemsetValueAt()
z pustymi łańcuchami.
na przykład
$ java -version
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)
$ java -jar JavaApplication5.jar
""
""
""
""
""
$
Szukałem błędów, ale nic nie wymyśliłem. Czy to znany problem?