zoukankan      html  css  js  c++  java
  • 窗体装载窗体

    //复写窗体添加按钮,对要复写的窗体的工具栏创建getset方法,即可在承载窗体上获得工具栏对象

    1.

    public JToolBar getjToolBar1() {
    return jToolBar1;
    }

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

    2.//在构造方法里调用添加按钮方法

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

    3.//添加按钮

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

    4.//调用承载窗体

    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) {
    super.setVisible(b); //To change body of generated methods, choose Tools | Templates.
    }
    }

    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">
    private void initComponents() {

    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

    setBounds(0, 0, 500, 373);
    }// </editor-fold>

    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
    // End of variables declaration
    }

    复写被装载的窗体点击事件

     private PnDeclarant pnDeclarant;

    @Override
    public void setVisible(boolean b) {
    if (b) {
    pnDeclarant.getTable().addMouseListener(new MouseListener() {
    @Override
    public void mouseClicked(MouseEvent e) {
    int count = e.getClickCount();
    selectData = (Declarant) pnDeclarant.getTableModel().getCheckedRow();
    if (count == 2 && selectData != null) {
    isOk = true;
    dispose();
    System.out.println("-----------------");
    }
    }

    @Override
    public void mousePressed(MouseEvent e) {
    }

    @Override
    public void mouseReleased(MouseEvent e) {
    }

    @Override
    public void mouseEntered(MouseEvent e) {
    }

    @Override
    public void mouseExited(MouseEvent e) {
    }
    });
    super.setVisible(b); //To change body of generated methods, choose Tools | Templates.
    }
    }

    ^(* ̄(oo) ̄)^:窗体没有初始化不能直接调用窗体获取对象,NullPointerException

  • 相关阅读:
    java的sha1加密,转化为python版本
    VUE:页面跳转时传递参数,及参数获取
    如何使用 Django中的 get_queryset, get_context_data和 get_object 等方法
    django orm 外键id返回对应的名称
    spring boot(一):入门篇
    redis学习(四)——Hash数据类型
    redis学习(三)——List数据类型
    redis学习(二)——String数据类型
    Java多线程(七)——线程休眠
    MySQL和B树的那些事
  • 原文地址:https://www.cnblogs.com/tiansan/p/7338287.html
Copyright © 2011-2022 走看看