@ -47,6 +47,7 @@ import com.fr.design.menu.MenuDef;
import com.fr.design.menu.NameSeparator ;
import com.fr.design.menu.ShortCut ;
import com.fr.design.preview.PagePreview ;
import com.fr.design.ui.util.UIUtil ;
import com.fr.design.write.submit.DBManipulationInWidgetEventPane ;
import com.fr.design.write.submit.DBManipulationPane ;
import com.fr.event.EventDispatcher ;
@ -79,7 +80,6 @@ import javax.swing.BorderFactory;
import javax.swing.Icon ;
import javax.swing.JComponent ;
import javax.swing.JOptionPane ;
import javax.swing.SwingWorker ;
import javax.swing.tree.DefaultMutableTreeNode ;
import javax.swing.undo.UndoManager ;
import java.util.ArrayList ;
@ -340,30 +340,18 @@ public abstract class JTemplate<T extends BaseBook, U extends BaseUndoState<?>>
public void refreshResource ( FILE file ) {
new SwingWorker < Void , Void > ( ) {
setTargetByFile ( file ) ;
UIUtil . invokeLaterIfNeeded ( new Runnable ( ) {
@Override
protected Void doInBackground ( ) throws Exception {
setTargetByFile ( file ) ;
return null ;
}
public void run ( ) {
// 先移除旧的。
removeCenterPane ( ) ;
// 加入新的
addCenterPane ( ) ;
@Override
public void done ( ) {
try {
get ( ) ;
// 先移除旧的。
removeCenterPane ( ) ;
// 加入新的
addCenterPane ( ) ;
refreshToolArea ( ) ;
} catch ( Exception e ) {
FineLoggerFactory . getLogger ( ) . error ( e . getMessage ( ) , e ) ;
}
refreshToolArea ( ) ;
}
} . execute ( ) ;
} ) ;
}