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 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() ; } }