帆软报表设计器源代码。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

137 lines
4.8 KiB

package com.fr.design.report;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import com.fr.design.gui.ilable.UILabel;
import javax.swing.*;
import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.dialog.BasicPane;
import com.fr.general.Inter;
import com.fr.io.attr.ExcelExportAttr;
import com.fr.stable.StringUtils;
public class ExcelExportPane extends BasicPane {
private UICheckBox isExportHidedRow;
private UICheckBox isExportHidenColumn;
private UICheckBox isNeedPassword;
private UITextField passwordField;
private UICheckBox protectedWord;
private UITextField protectedField;
private JPanel passwordWritePane;
private JPanel wordPane;
public ExcelExportPane() {
this.initComponents();
}
protected void initComponents() {
this.setLayout(FRGUIPaneFactory.createBorderLayout());
this.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
JPanel outnorthPane =FRGUIPaneFactory.createTitledBorderPane("Excel" + Inter.getLocText("ReportD-Excel_Export"));
JPanel northPane=FRGUIPaneFactory.createY_AXISBoxInnerContainer_M_Pane();
this.add(outnorthPane);
outnorthPane.add(northPane);
JPanel rowAndColumnPane =FRGUIPaneFactory.createNormalFlowInnerContainer_M_Pane();
northPane.add(rowAndColumnPane);
isExportHidedRow = new UICheckBox(Inter.getLocText("ReportD-Export_Hided_Row"));
isExportHidedRow.setSelected(false);
rowAndColumnPane.add(isExportHidedRow);
isExportHidenColumn = new UICheckBox(Inter.getLocText("ReportD-Export_Hided_Column"));
isExportHidenColumn.setSelected(false);
rowAndColumnPane.add(isExportHidenColumn);
JPanel passwordPane =FRGUIPaneFactory.createNormalFlowInnerContainer_M_Pane();
isNeedPassword = new UICheckBox(Inter.getLocText("IS_Need_Password"), false);
passwordPane.add(isNeedPassword);
northPane.add(passwordPane);
passwordWritePane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane();
passwordPane.add(passwordWritePane);
UILabel passwordLabel = new UILabel(Inter.getLocText(new String[]{"File", "Password"}) + ":");
passwordWritePane.add(passwordLabel);
passwordField = new UITextField(11);
passwordWritePane.add(passwordField);
// UIButton displayPasswordButton = new UIButton("...");
isNeedPassword.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (isNeedPassword.isSelected()) {
passwordWritePane.setVisible(true);
} else {
passwordWritePane.setVisible(false);
}
}
});
JPanel protectedWordPane =FRGUIPaneFactory.createNormalFlowInnerContainer_M_Pane();
protectedWord = new UICheckBox(Inter.getLocText(new String[]{"Protected", "Password"}));
wordPane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane();
wordPane.add(new UILabel(Inter.getLocText(new String[]{"Sheet", "Password"}) + ":"));
protectedField = new UITextField(11);
wordPane.add(protectedField);
protectedWordPane.add(protectedWord);
protectedWordPane.add(wordPane);
northPane.add(protectedWordPane);
protectedWord.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (protectedWord.isSelected()) {
wordPane.setVisible(true);
} else {
wordPane.setVisible(false);
protectedField.setText(null);
}
}
});
}
@Override
protected String title4PopupWindow() {
return "ExcelExport";
}
public void populate(ExcelExportAttr excelExportAttr) {
if(excelExportAttr == null){
return;
}
isExportHidedRow.setSelected(excelExportAttr.isExportHidedRow());
isExportHidenColumn.setSelected(excelExportAttr.isExportHidedColumn());
if (StringUtils.isEmpty(excelExportAttr.getPassword())) {
isNeedPassword.setSelected(false);
passwordWritePane.setVisible(false);
} else {
isNeedPassword.setSelected(true);
passwordField.setText(excelExportAttr.getPassword());
passwordWritePane.setVisible(true);
}
if (StringUtils.isEmpty(excelExportAttr.getProtectedWord())) {
this.protectedWord.setSelected(false);
this.wordPane.setVisible(false);
} else {
this.protectedWord.setSelected(true);
this.wordPane.setVisible(true);
this.protectedField.setText(excelExportAttr.getProtectedWord());
}
}
public ExcelExportAttr update() {
ExcelExportAttr excelExportAttr = new ExcelExportAttr();
excelExportAttr.setExportHidedColumn(isExportHidenColumn.isSelected());
excelExportAttr.setExportHidedRow(isExportHidedRow.isSelected());
if (!isNeedPassword.isSelected()) {
passwordField.setText(null);
}
excelExportAttr.setPassword(passwordField.getText());
excelExportAttr.setProtectedWord(this.protectedField.getText());
return excelExportAttr;
}
}