String path = workspaceField.getText();
//prefs.remove("workspaceDirectory");
prefs.put("workspaceDirectory", path);
splitPane = commands.getSplitPane();
WebScrollPane oldTree = (WebScrollPane) splitPane.getLeftComponent();
splitPane.remove(oldTree);
WebScrollPane newTree = commands.createFileTree();
splitPane.setLeftComponent(newTree);
dialog.dispose();
上記のコードは、テキスト フィールドからファイル パスを取得し、それを「workspaceDirectory」という名前の文字列設定に入れます。問題は、その好みが変わらないことです。コメント化された prefs.remove 呼び出しは設定を正常に削除しますが、prefs.put("workspaceDirectory", path) が呼び出されたときに設定は変更されません。エラーは表示されません。
メソッド createFileTree():
public WebScrollPane createFileTree() {
fileTree = new WebFileTree(prefs.get("workspaceDirectory", WorkspaceManager.createWorkspaceDirectory()));
fileTreeScrollPane = new WebScrollPane(fileTree);
fileTreeScrollPane.setVerticalScrollBarPolicy(WebScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
fileTree.addMouseListener(new FileTreeListener(this));
return fileTreeScrollPane;
}
createFileTree が行うのはこれだけですが、何の影響もありません。コンポーネントを変更するコードをコメントアウトすると、prefs.put は何もしません。これを引き起こす原因、または設定の変更を妨げているアイデアはありますか?