package com.vci.client.portal.NewNewUI.actionExport;
|
import java.awt.Color;
|
import java.awt.Font;
|
import java.awt.GridBagConstraints;
|
import java.awt.GridBagLayout;
|
import java.awt.Insets;
|
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionListener;
|
import java.io.File;
|
import java.util.Map;
|
|
import javax.swing.JButton;
|
import javax.swing.JFileChooser;
|
import javax.swing.JLabel;
|
import javax.swing.JPanel;
|
import javax.swing.JScrollPane;
|
import javax.swing.JTextField;
|
import javax.swing.UIManager;
|
import javax.swing.filechooser.FileFilter;
|
|
import com.vci.client.LogonApplication;
|
import com.vci.client.portal.NewNewUI.Export.VCIImportTree;
|
import com.vci.client.portal.UI.dialog.VCIGuideStepPanel;
|
import com.vci.client.ui.swing.VCIOptionPane;
|
/**
|
* Action导出步骤1界面
|
* @Title :ExpActionStep1Panel.java
|
* @Description :
|
* @Copyright :宏博远达科技有限公司
|
* @Author :平台与规划部/ZhongGY/E-mail:zhonggy@vci-tech.com
|
* @Date :2015-6-5
|
* @Version :1
|
* @Other :产生注释:Alt+Shift+J
|
*/
|
public class ImpActionStep1Panel extends VCIGuideStepPanel {
|
|
private static final long serialVersionUID = 1L;
|
|
private VCIImportTree importTree ;
|
private JTextField txtDirectory;
|
private JButton btnSelDirectory;
|
private String filePath = null;
|
private JScrollPane scrollPane = new JScrollPane();
|
public ImpActionStep1Panel() {
|
GridBagLayout gridBagLayout = new GridBagLayout();
|
gridBagLayout.columnWidths = new int[]{0, 0, 0, 0};
|
gridBagLayout.rowHeights = new int[]{0, 30, 0};
|
gridBagLayout.columnWeights = new double[]{0.0, 1.0, 0.0, Double.MIN_VALUE};
|
gridBagLayout.rowWeights = new double[]{1.0, 0.0, Double.MIN_VALUE};
|
setLayout(gridBagLayout);
|
|
|
JLabel label_2 = new JLabel(" ");
|
GridBagConstraints gbc_label_2 = new GridBagConstraints();
|
gbc_label_2.insets = new Insets(0, 0, 5, 5);
|
gbc_label_2.gridx = 0;
|
gbc_label_2.gridy = 0;
|
add(label_2, gbc_label_2);
|
|
// JScrollPane scrollPane = new JScrollPane();
|
GridBagConstraints gbc_scrollPane = new GridBagConstraints();
|
gbc_scrollPane.fill = GridBagConstraints.BOTH;
|
gbc_scrollPane.insets = new Insets(0, 0, 5, 5);
|
gbc_scrollPane.gridx = 1;
|
gbc_scrollPane.gridy = 0;
|
add(scrollPane, gbc_scrollPane);
|
|
|
JLabel label = new JLabel(" ");
|
GridBagConstraints gbc_label = new GridBagConstraints();
|
gbc_label.insets = new Insets(0, 0, 5, 0);
|
gbc_label.gridx = 2;
|
gbc_label.gridy = 0;
|
add(label, gbc_label);
|
|
JPanel panel = new JPanel();
|
GridBagConstraints gbc_panel = new GridBagConstraints();
|
gbc_panel.insets = new Insets(0, 0, 0, 5);
|
gbc_panel.fill = GridBagConstraints.BOTH;
|
gbc_panel.gridx = 1;
|
gbc_panel.gridy = 1;
|
add(panel, gbc_panel);
|
GridBagLayout gbl_panel = new GridBagLayout();
|
gbl_panel.columnWidths = new int[]{0, 0, 0, 0};
|
gbl_panel.rowHeights = new int[]{0, 0};
|
gbl_panel.columnWeights = new double[]{0.0, 1.0, 0.0, Double.MIN_VALUE};
|
gbl_panel.rowWeights = new double[]{0.0, Double.MIN_VALUE};
|
panel.setLayout(gbl_panel);
|
|
JLabel label_3 = new JLabel("导入文件:");
|
GridBagConstraints gbc_label_3 = new GridBagConstraints();
|
gbc_label_3.insets = new Insets(0, 0, 0, 5);
|
gbc_label_3.anchor = GridBagConstraints.EAST;
|
gbc_label_3.gridx = 0;
|
gbc_label_3.gridy = 0;
|
panel.add(label_3, gbc_label_3);
|
|
txtDirectory = new JTextField();
|
txtDirectory.setText("请选择导入文件...");
|
txtDirectory.setEditable(false);
|
txtDirectory.setBackground(UIManager.getColor("CheckBox.background"));
|
txtDirectory.setForeground(Color.BLACK);
|
GridBagConstraints gbc_txtDirectory = new GridBagConstraints();
|
gbc_txtDirectory.insets = new Insets(0, 0, 0, 5);
|
gbc_txtDirectory.fill = GridBagConstraints.HORIZONTAL;
|
gbc_txtDirectory.gridx = 1;
|
gbc_txtDirectory.gridy = 0;
|
panel.add(txtDirectory, gbc_txtDirectory);
|
txtDirectory.setColumns(10);
|
|
btnSelDirectory = new JButton("...");
|
btnSelDirectory.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
ImpActionStep1Panel.this.selectDirectory(e);
|
}
|
});
|
GridBagConstraints gbc_btnSelDirectory = new GridBagConstraints();
|
gbc_btnSelDirectory.anchor = GridBagConstraints.EAST;
|
gbc_btnSelDirectory.gridx = 2;
|
gbc_btnSelDirectory.gridy = 0;
|
panel.add(btnSelDirectory, gbc_btnSelDirectory);
|
}
|
|
/**
|
* 选择目录
|
* @Title :selectDirectory
|
* @Description :
|
* @param e
|
*/
|
public void selectDirectory(ActionEvent e) {
|
//TODO:给txtDirectory赋值
|
this.openFileChoser();
|
}
|
|
@Override
|
public void initUI() {
|
//可不处理,默认加载即可
|
|
|
if (importTree == null) {
|
importTree = new VCIActionImportTree();
|
getCommonMap().put("importTree",new VCIActionImportTree());
|
}
|
if(this.filePath!=null){
|
renderUIByObjectFile(filePath);
|
}
|
|
}
|
|
public Map<String,Object> getCommonMap(){
|
/*return (HashMap)this.getOwnParent().getDialogCommonShareData();*/
|
return this.getGuidCommonShareData();
|
}
|
@Override
|
//执行“导出”树的初始化,并添加到scrollPane中
|
public void initData() {
|
// TODO:主要处理结构树的加载(包括树结构勾选逻辑)
|
// 初始化树
|
}
|
|
public void setFilePath(String filePath){
|
this.filePath = filePath;
|
}
|
|
private void openFileChoser() {
|
JFileChooser jf = new JFileChooser();
|
jf.setFileSelectionMode(JFileChooser.FILES_ONLY);
|
jf.removeChoosableFileFilter(jf.getFileFilter());
|
jf.setFileFilter(new FileFilter() {
|
public String getDescription() {
|
return "文件夹";
|
}
|
public boolean accept(File f) {
|
return (f.isDirectory() || f.getName().endsWith(".vciamf"));
|
}
|
});
|
jf.setDialogTitle("选择Action导出文件");
|
int showOpenDialog = jf.showOpenDialog(LogonApplication.frame);
|
if (showOpenDialog == JFileChooser.APPROVE_OPTION) {
|
File selectedFile = jf.getSelectedFile();
|
filePath = selectedFile.getAbsolutePath();
|
/*String path = selectedFile.getPath();*/
|
renderUIByObjectFile(filePath);
|
|
}
|
}
|
private void renderUIByObjectFile(String filePath){
|
this.getCommonMap().put("filePath", filePath);
|
//设置面板显示信息
|
txtDirectory.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 12));
|
txtDirectory.setText(filePath);
|
importTree = (VCIImportTree) getCommonMap().get("importTree");
|
importTree.initTree(filePath);
|
scrollPane.setViewportView(importTree);
|
}
|
@Override
|
public String getStepName() {
|
String firstStepName = null;
|
if((firstStepName = (String)this.getCommonMap().get("firstStepName") )!= null){
|
return firstStepName;
|
}
|
return "第一步:Action选择";
|
}
|
|
@Override
|
public boolean isPreBtnVisible() {
|
//第一步没有“上一步”
|
return false;
|
}
|
|
@Override
|
public String getPreBtnText() {
|
return null;
|
}
|
|
@Override
|
public boolean doPreBtnAction() {
|
return false;
|
}
|
|
@Override
|
public boolean isNextBtnVisible() {
|
return true;
|
}
|
|
@Override
|
public String getNextBtnText() {
|
return "导入";
|
}
|
|
/**
|
* 导出的主要处理入口
|
*/
|
@Override
|
public boolean doNextBtnAction() {
|
//判断导出树是否正确选择导出内容
|
if(importTree.hasSelectImportContent()){
|
VCIGuideStepPanel nextStepUI = getNextStepUI();
|
nextStepUI.initUI();
|
return true;
|
}else{
|
VCIOptionPane.showMessage(LogonApplication.frame, "没有可导入的数据");
|
return false;
|
}
|
}
|
|
@Override
|
public boolean isCancelBtnVisible() {
|
return true;
|
}
|
|
@Override
|
public String getcancelBtnText() {
|
return "取消";
|
}
|
|
String dialogProcess = ""; //[第X步/共X步]
|
public String getDialogProcess() {
|
dialogProcess = "[第1步/共2步]";
|
return dialogProcess;
|
}
|
|
public VCIGuideStepPanel getNextStepUI() {
|
if (super.getNextStepUI() == null) {
|
VCIGuideStepPanel nextStepUI = new ImpActionStep2Panel();
|
nextStepUI.setPreStepUI(this);
|
nextStepUI.setOwnParent(this.getOwnParent());
|
super.setNextStepUI(nextStepUI);
|
}
|
|
return super.getNextStepUI() ;
|
}
|
}
|