zoukankan      html  css  js  c++  java
  • demo学习

    //判断选中界面下拉框数据是否存在,存在就添加到并选中

    private void bindDeclarant(DecHeadEdi decHead) {
    if (decHead.getDeclarantCode() != null && decHead.getDeclarantName() != null) {
    ItemProperty ip = new ItemProperty(decHead.getDeclarantCode(), decHead.getDeclarantName());
    List<Declarant> list = this.decParamLogic.findDeclarants(request);
    boolean exists = false;
    if (list != null && !list.isEmpty()) {
    String selectKey = decHead.getDeclarantCode() + "/" + decHead.getDeclarantName();
    for (Declarant declarant : list) {
    String key = declarant.getCode() + "/" + declarant.getName();
    if (StringUtils.equals(selectKey, key)) {
    exists = true;
    break;
    }
    }
    }
    if (!exists) {
    this.cbbDeclarant.addItem(ip);
    }
    this.cbbDeclarant.setSelectedItem(ip);
    }
    }

    保存下拉框code并显示数据

    private void initDeclarant() {
    List<Declarant> list = this.decParamLogic.findDeclarants(request);
    List<ItemProperty> propertys = new ArrayList();
    if (list != null) {
    for (Declarant declarant : list) {
    propertys.add(new ItemProperty(declarant.getCode(), declarant.getName()));
    }
    }
    cbbDeclarant.setModel(new DefaultComboBoxModel(propertys.toArray()));

    this.cbbDeclarant.setConvert(new ItemPropertyValueConvert(new DefaultComboBoxModel(propertys.toArray())));
    }

    放大镜维护方法

    private void qfDeclarantActionPerformed(java.awt.event.ActionEvent evt) {
    DgEditDeclarant dg = new DgEditDeclarant();
    dg.setVisible(true);
    if (dg.getIsOk()) {
    Declarant declarant = dg.getSelectData();
    if (declarant != null) {
    initDeclarant();
    ItemProperty it = new ItemProperty(declarant.getCode(), declarant.getName());
    cbbDeclarant.setSelectedItem(it);
    }
    } else {
    initDeclarant();
    }
    }

    //装载窗体代码

    public class DgEditDeclarant extends JDialogBase {

    private PnDeclarant pnDeclarant;
    private Boolean isOk = false;
    private Declarant selectData;

    /**
    * Creates new form NewJDialog
    */
    public DgEditDeclarant() {
    initComponents();
    pnDeclarant = new PnDeclarant();
    addButton();
    this.add(pnDeclarant, java.awt.BorderLayout.CENTER);
    }

    @Override
    public void setVisible(boolean b) {
    if (b) {
    pnDeclarant.getTable().addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
    int count = e.getClickCount();
    selectData = (Declarant) pnDeclarant.getTableModel().getCheckedRow();
    if (count == 2 && e.getButton() == MouseEvent.BUTTON1 && selectData != null) {
    isOk = true;
    dispose();
    System.out.println("-----------------");
    }
    }
    });
    super.setVisible(b); //To change body of generated methods, choose Tools | Templates.
    }
    }

    // private void tableMouseClicked(java.awt.event.MouseEvent evt) {
    // selectData = (Declarant) pnDeclarant.getTableModel().getCheckedRow();
    // if (evt.getClickCount() == 2 && selectData != null) {
    // isOk = true;
    // dispose();
    // }
    // }
    private void addButton() {
    JToolBar tb = pnDeclarant.getjToolBar1();
    JBButton btn = new JBButton();
    btn.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/bsw/esp/client/images/35_确定.png"))); // NOI18N
    btn.setText("确定");
    btn.setAuthorityID("");
    btn.setBorderPainted(false);
    btn.setFocusable(false);
    btn.setHorizontalTextPosition(0);
    btn.setIconTextGap(0);
    btn.setVerticalTextPosition(3);
    btn.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
    selectData = (Declarant) pnDeclarant.getTableModel().getCheckedRow();
    if (selectData == null) {
    JOptionPane.showMessageDialog(rootPane, "请选择数据");
    return;
    } else {
    isOk = true;
    dispose();
    }
    }
    });
    tb.add(btn);
    }

    /**
    * This method is called from within the constructor to initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is always
    * regenerated by the Form Editor.
    */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    setTitle("录入员选择");

    setBounds(0, 0, 500, 373);
    }// </editor-fold>//GEN-END:initComponents

    public Boolean getIsOk() {
    return isOk;
    }

    public void setIsOk(Boolean isOk) {
    this.isOk = isOk;
    }

    public Declarant getSelectData() {
    return selectData;
    }

    public void setSelectData(Declarant selectData) {
    this.selectData = selectData;
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    // End of variables declaration//GEN-END:variables
    }

     //pnDeclarant窗体实现

    public class PnDeclarant extends JPanelEdit {

    private JTableListModel tableModel;
    private int dataStatus = DataStatus.BROWSE;
    private Request request = CoreClientUtils.getRequest();
    private final DecParamLogic decParamLogic = CoreClientUtils.getBean(DecParamLogic.class);
    private Boolean isOk = true;

    /**
    * Creates new form PnDeclarant
    */
    public PnDeclarant() {
    initComponents();
    loadData();
    this.setStatus();
    }

    private JTableListModel initTableModel(List<Declarant> data) {
    if (data == null) {
    data = Collections.EMPTY_LIST;
    }
    tableModel = new JTableListModel(table, data, new JTableListModelAdapter() {
    @Override
    public List<JTableListColumn> initColumns() {
    List<JTableListColumn> list = new ArrayList();
    list.add(new JTableListColumn("", "", 20) {
    @Override
    protected void setParameters() {
    this.setEditerType(TableCellEditerType.MULTI_CHECK);
    }
    });
    list.add(new JTableListColumn("流水号", "serialNo", 50));
    list.add(new JTableListColumn("报关员编号", "code", 120) {
    @Override
    public void setParameters() {
    this.setExtendsProperty(StringColumnExtProperty.MAX_LENGTH, 18);
    }
    });
    list.add(new JTableListColumn("报关员名称", "name", 80));
    return list;
    }

    @Override
    protected Class getModelEntityClass() {
    return Declarant.class;
    }

    @Override
    protected String getColumnPersistentId() {
    return "";
    }
    });
    tableModel.setTableEditColumns(new String[]{"code", "name"});
    return tableModel;
    }

    private Declarant getNewDeclarant() {
    Integer serialNo = this.decParamLogic.getDeclarantSerialNo(request);
    if (serialNo == null || serialNo == 0) {
    serialNo = 1;
    } else {
    serialNo += 1;
    }
    Declarant declarant = new Declarant();
    declarant.setSerialNo(serialNo);
    declarant = decParamLogic.saveDeclarant(request, declarant);
    return declarant;
    }

    private void setStatus() {
    this.tableModel.setAllowEdit(this.tableModel.getRowCount() > 0 && dataStatus == DataStatus.EDIT);
    this.btnSave.setEnabled(tableModel.getRowCount() > 0 && dataStatus == DataStatus.EDIT);
    this.btnDel.setEnabled(tableModel.getRowCount() > 0 && dataStatus == DataStatus.BROWSE);
    this.btnEdit.setEnabled(tableModel.getRowCount() > 0 && dataStatus == DataStatus.BROWSE);
    this.btnAdd.setEnabled(dataStatus == DataStatus.BROWSE);
    this.btnCancel.setEnabled(dataStatus == DataStatus.EDIT && tableModel.getRowCount() > 0);
    this.btnBrefsh.setEnabled(dataStatus == DataStatus.BROWSE);
    }

    private void loadData() {
    initTableModel(this.decParamLogic.findDeclarants(request));
    }

    /**
    * This method is called from within the constructor to initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is always
    * regenerated by the Form Editor.
    */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

    jToolBar1 = new javax.swing.JToolBar();
    btnAdd = new com.bsw.client.component.JBButton();
    btnEdit = new com.bsw.client.component.JBButton();
    btnDel = new com.bsw.client.component.JBButton();
    btnSave = new com.bsw.client.component.JBButton();
    btnCancel = new com.bsw.client.component.JBButton();
    btnBrefsh = new com.bsw.client.component.JBButton();
    jPanel1 = new javax.swing.JPanel();
    jScrollPane1 = new javax.swing.JScrollPane();
    table = new javax.swing.JTable();

    setLayout(new java.awt.BorderLayout());

    jToolBar1.setBorder(null);
    jToolBar1.setRollover(true);
    jToolBar1.setBorderPainted(false);
    jToolBar1.setOpaque(false);
    jToolBar1.setPreferredSize(new java.awt.Dimension(100, 45));

    btnAdd.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/bsw/esp/client/images/01_新增.png"))); // NOI18N
    btnAdd.setBorderPainted(false);
    btnAdd.setFocusable(false);
    btnAdd.setHorizontalTextPosition(0);
    btnAdd.setIconTextGap(0);
    btnAdd.setOpaque(false);
    btnAdd.setText("新增");
    btnAdd.setVerticalTextPosition(3);
    btnAdd.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    btnAddActionPerformed(evt);
    }
    });
    jToolBar1.add(btnAdd);

    btnEdit.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/bsw/esp/client/images/02_修改.png"))); // NOI18N
    btnEdit.setBorderPainted(false);
    btnEdit.setFocusable(false);
    btnEdit.setHorizontalTextPosition(0);
    btnEdit.setIconTextGap(0);
    btnEdit.setOpaque(false);
    btnEdit.setText("修改");
    btnEdit.setVerticalTextPosition(3);
    btnEdit.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    btnEditActionPerformed(evt);
    }
    });
    jToolBar1.add(btnEdit);

    btnDel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/bsw/esp/client/images/03_删除.png"))); // NOI18N
    btnDel.setBorderPainted(false);
    btnDel.setFocusable(false);
    btnDel.setHorizontalTextPosition(0);
    btnDel.setIconTextGap(0);
    btnDel.setOpaque(false);
    btnDel.setText("删除");
    btnDel.setVerticalTextPosition(3);
    btnDel.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    btnDelActionPerformed(evt);
    }
    });
    jToolBar1.add(btnDel);

    btnSave.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/bsw/esp/client/images/15_保存.png"))); // NOI18N
    btnSave.setBorderPainted(false);
    btnSave.setFocusable(false);
    btnSave.setHorizontalTextPosition(0);
    btnSave.setIconTextGap(0);
    btnSave.setOpaque(false);
    btnSave.setText("保存");
    btnSave.setVerticalTextPosition(3);
    btnSave.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    btnSaveActionPerformed(evt);
    }
    });
    jToolBar1.add(btnSave);

    btnCancel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/bsw/esp/client/images/36_取消.png"))); // NOI18N
    btnCancel.setBorderPainted(false);
    btnCancel.setFocusable(false);
    btnCancel.setHorizontalTextPosition(0);
    btnCancel.setIconTextGap(0);
    btnCancel.setOpaque(false);
    btnCancel.setText("取消");
    btnCancel.setVerticalTextPosition(3);
    btnCancel.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    btnCancelActionPerformed(evt);
    }
    });
    jToolBar1.add(btnCancel);

    btnBrefsh.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/bsw/esp/client/images/26_刷新.png"))); // NOI18N
    btnBrefsh.setBorderPainted(false);
    btnBrefsh.setFocusable(false);
    btnBrefsh.setHorizontalTextPosition(0);
    btnBrefsh.setIconTextGap(0);
    btnBrefsh.setOpaque(false);
    btnBrefsh.setText("刷新");
    btnBrefsh.setVerticalTextPosition(3);
    btnBrefsh.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    btnBrefshActionPerformed(evt);
    }
    });
    jToolBar1.add(btnBrefsh);

    add(jToolBar1, java.awt.BorderLayout.PAGE_START);

    jPanel1.setLayout(new java.awt.BorderLayout());

    table.setModel(new javax.swing.table.DefaultTableModel(
    new Object [][] {
    {null, null, null, null},
    {null, null, null, null},
    {null, null, null, null},
    {null, null, null, null}
    },
    new String [] {
    "Title 1", "Title 2", "Title 3", "Title 4"
    }
    ));
    jScrollPane1.setViewportView(table);

    jPanel1.add(jScrollPane1, java.awt.BorderLayout.CENTER);

    add(jPanel1, java.awt.BorderLayout.CENTER);
    }// </editor-fold>

    private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {
    Declarant declarant = getNewDeclarant();
    this.tableModel.addRow(0, declarant);
    this.dataStatus = DataStatus.EDIT;
    this.setStatus();
    }

    private void btnEditActionPerformed(java.awt.event.ActionEvent evt) {
    dataStatus = DataStatus.EDIT;
    this.setStatus();
    }

    private void btnDelActionPerformed(java.awt.event.ActionEvent evt) {
    List<Declarant> declarants = this.tableModel.getCheckedRows();
    if (null == declarants || declarants.isEmpty()) {
    JOptionPane.showMessageDialog(PnDeclarant.this, "请勾选要删除的内容!");
    return;
    }
    if (JOptionPane.showConfirmDialog(PnDeclarant.this, "你确定要删除记录吗?", "确认", 0) == 0) {
    this.decParamLogic.deleteDeclarants(request, declarants);
    this.loadData();
    dataStatus = DataStatus.BROWSE;
    this.setStatus();
    }
    }

    private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {
    this.tableModel.commitEdited();
    List<Declarant> declarants = this.tableModel.getModifiedData();
    if (!checkData(declarants)) {
    return;
    }
    declarants = this.decParamLogic.saveDeclarants(request, declarants);
    this.decParamLogic.deleteNullRowData(request);
    loadData();
    this.dataStatus = DataStatus.BROWSE;
    this.setStatus();

    }

    private Boolean checkData(List<Declarant> declarants) {
    List<ErrorMessage> messages = new ArrayList();
    Boolean isPass = true;
    if (null != declarants && !declarants.isEmpty()) {
    List<Declarant> list = decParamLogic.findDeclarants(CoreClientUtils.getRequest());
    Map<String, Declarant> declarantMap = new HashMap();
    Map<String, Declarant> selfMap = new HashMap();
    if (null != list && !list.isEmpty()) {
    for (Declarant declarant : list) {
    declarantMap.put(declarant.getCode(), declarant);
    }
    }
    for (Declarant d : declarants) {
    int index = this.tableModel.getRowByData(d);
    ErrorMessage message = new ErrorMessage();
    String err = "";
    if (StringUtils.isBlank(d.getCode())) {
    err += "报关人员编号不能为空! ";
    isPass = false;
    }
    if (StringUtils.isBlank(d.getName())) {
    err += "报关人员名称不能为空! ";
    isPass = false;
    }

    if (StringUtils.isNotBlank(d.getId()) && declarantMap.get(d.getCode()) != null && !declarantMap.get(d.getCode()).getId().equals(d.getId())) {
    String errMsg = String.format("报关人员编码:【%s】在系统中已存在! ", d.getCode());
    err += errMsg;
    }
    if (selfMap.get(d.getCode()) != null) {
    String errMsg = String.format("报关人员编码:【%s】在当前表格中重复! ", d.getCode());
    err += errMsg;
    } else {
    selfMap.put(d.getCode(), d);
    }
    if (StringUtils.isNotBlank(err)) {
    message.setTitle("第" + (index + 1) + "行数据");
    message.setMessage(removeStrFromString(err, " "));
    messages.add(message);
    }
    }
    if (!messages.isEmpty()) {
    DgErrorMessage dg = new DgErrorMessage();
    dg.setTitle("报关人员参数");
    dg.setList(messages);
    dg.setVisible(true);
    isPass = false;
    }
    }
    return isPass;
    }

    private String removeStrFromString(String orgString, String removeString) {
    if (StringUtils.isNotBlank(orgString) && StringUtils.isNotEmpty(removeString)) {
    if (orgString.contains(removeString)) {
    return new String(orgString.substring(0, orgString.lastIndexOf(removeString)));
    }
    }
    return orgString;
    }

    private void btnBrefshActionPerformed(java.awt.event.ActionEvent evt) {
    this.loadData();
    }

    private void btnCancelActionPerformed(java.awt.event.ActionEvent evt) {
    this.decParamLogic.deleteNullRowData(request);
    loadData();
    this.dataStatus = DataStatus.BROWSE;
    this.setStatus();
    }

    @Override
    public boolean isEdit() {
    return false;
    }

    public JToolBar getjToolBar1() {
    return jToolBar1;
    }

    public void setjToolBar1(JToolBar jToolBar1) {
    this.jToolBar1 = jToolBar1;
    }

    public JTableListModel getTableModel() {
    return tableModel;
    }

    public void setTableModel(JTableListModel tableModel) {
    this.tableModel = tableModel;
    }

    public JTable getTable() {
    return table;
    }

    public void setTable(JTable table) {
    this.table = table;
    }

    // Variables declaration - do not modify
    private com.bsw.client.component.JBButton btnAdd;
    private com.bsw.client.component.JBButton btnBrefsh;
    private com.bsw.client.component.JBButton btnCancel;
    private com.bsw.client.component.JBButton btnDel;
    private com.bsw.client.component.JBButton btnEdit;
    private com.bsw.client.component.JBButton btnSave;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JToolBar jToolBar1;
    private javax.swing.JTable table;
    // End of variables declaration
    }

  • 相关阅读:
    360网盘书籍分享
    oracle11g字符集问题之一
    order by 的列名不能参数化,要拼sql
    oracle11g的冷热备份
    Spring 事务管理的使用
    Spring 事务管理的API
    事务总结
    Excel 单元格中内容的换行
    手动配置IP地址
    MyBatis 三剑客
  • 原文地址:https://www.cnblogs.com/tiansan/p/7364073.html
Copyright © 2011-2022 走看看