2017-08-13 9 views
2

MapPropertyを作成して、以下のようにデータベースから情報を読み込みました。データベースをMapProperty Javafxに読み込む

コマンドは通常のArrayList、地図で細かい動作しますが、私は、私は次のエラーのステートメントを実行した後

public MapProperty<String, ListProperty<String>> mapTaxonomy() { 
     MapProperty<String, ListProperty<String>> mapTaxonomy = new SimpleMapProperty<>(); 
     try { 
      preparedStatement = connection.prepareStatement(""); 
      resultSet = preparedStatement.executeQuery(); 
      while (resultSet.next()) { 
       String taxonomy = resultSet.getString("Taxonomy"); 
       ListProperty<String> memberSelector = mapTaxonomy.get(taxonomy); 
       if (memberSelector == null) { 
        memberSelector = new SimpleListProperty<>(); 
        mapTaxonomy.put(taxonomy, memberSelector); 
       } 
       memberSelector.add(resultSet.getString("Selector")); 
      } 
     } catch (SQLException ex) { 
      Logger.getLogger(ParserService.class.getName()).log(Level.SEVERE, null, ex); 
     } 
     return mapTaxonomy; 
    } 

@Override 
    public void initialize(URL location, ResourceBundle resources) { 
     MapProperty<String, ListProperty<String>> mapTaxonomy = mapTaxonomy(); 
    } 

をコントロールにバインドすることができますので、誤差はメンバーがListPropertyタイプになりたいMapProperty.I、私を助けてください

Caused by: java.lang.UnsupportedOperationException 
    at java.util.AbstractMap.put(AbstractMap.java:209) 
    at javafx.beans.binding.MapExpression.put(MapExpression.java:262) 
    at touya.akira.storages.database.table.parser.ParserService.mapTaxonomy(ParserService.java:70) 
    at touya.akira.parser.styles.fixed.method.pagination.PaginationPresenter.initialize(PaginationPresenter.java:64) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548) 
    ... 67 more 

答えて

1

SimpleMapPropertyのデフォルト値は空変更不可能なマップです。変更しようとすると例外がスローされます。この問題を修正するには、修正可能なObservableMapを初期値として指定してください。 @fabianあなたの助けのための

MapProperty<String, ListProperty<String>> mapTaxonomy = new SimpleMapProperty<>(FXCollections.observableHashMap()); 
+0

おかげで私は、私は私に文書を助けてください、私は it.If可能にチュートリアルを見つけることができません「変更不可能な空であるSimpleMapPropertyのデフォルト値」に関するいくつかのOracleのドキュメントを見つけることに成功していました。私はもっ​​と参考にしています https://docs.oracle.com/javafx/2/api/javafx/beans/property/SimpleMapProperty.html –

+1

@KiênĐịnhjavadocにそれが何も示されていないようです。私はソースコードを見た... – fabian

関連する問題