帆软报表设计器源代码。
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.
 
 
 
 

1 lines
3.1 KiB

package com.fr.design.mainframe; import com.fr.design.constants.LayoutConstants; import com.fr.design.designer.TargetComponent; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.general.Inter; import javax.swing.*; import java.awt.*; /** * Author : daisy * Date: 13-9-12 * Time: 下午6:21 */ public abstract class AuthorityEditPane extends JPanel { protected static final int TOP_GAP = 11; protected static final int LEFT_GAP = 4; protected static final int RIGHT_GAP = 10; protected static final int ALIGNMENT_GAP = -3; protected static final int LEFT_CHECKPANE = 3; protected UILabel type = null; protected UILabel name = null; protected JPanel checkPane = null; private TargetComponent target; private JPanel typePane; private JPanel namePane; public AuthorityEditPane(TargetComponent target) { this.target = target; setLayout(new BorderLayout()); type = new UILabel(); typePane = new JPanel(new BorderLayout()); typePane.add(type, BorderLayout.CENTER); type.setBorder(BorderFactory.createEmptyBorder(0,LEFT_GAP,0,0)); typePane.setBorder(BorderFactory.createLineBorder(Color.lightGray)); name = new UILabel(); namePane = new JPanel(new BorderLayout()); namePane.add(name, BorderLayout.CENTER); name.setBorder(BorderFactory.createEmptyBorder(0,LEFT_GAP,0,0)); namePane.setBorder(BorderFactory.createLineBorder(Color.lightGray)); checkPane = new JPanel(); checkPane.setLayout(new BorderLayout()); // this.add(layoutText(), BorderLayout.WEST); // this.add(layoutPane(), BorderLayout.CENTER); this.add(centerPane(), BorderLayout.NORTH); this.setBorder(BorderFactory.createEmptyBorder(TOP_GAP, LEFT_GAP, 0, RIGHT_GAP)); } private JPanel centerPane() { double f = TableLayout.FILL; double p = TableLayout.PREFERRED; double[] rowSize = {p, p, p}; double[] columnSize = {p, f}; int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}}; Component[][] components = new Component[][]{ new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_Type") + " ", SwingConstants.LEFT), typePane}, new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_WF_Name") + " ", SwingConstants.LEFT), namePane}, new Component[]{checkPane, null}, }; return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_SMALL, LayoutConstants.VGAP_MEDIUM); } /** * 更新权限编辑面板的具体内容:类型、名称、权限面板 */ public void populateDetials() { populateType(); populateName(); checkPane.removeAll(); populateCheckPane(); checkPane.setBorder(BorderFactory.createEmptyBorder(0, LEFT_CHECKPANE, 0, 0)); } public abstract void populateType(); public abstract void populateName(); public abstract JPanel populateCheckPane(); }