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

  • 相关阅读:
    PuTTY 私钥'putty/sshdss.c' 多个信息泄露漏洞
    PuTTY DSA签名远程缓冲区溢出漏洞(CVE-2013-4207)
    Apache CloudStack多个跨站脚本漏洞(CVE-2013-2136)
    phpMyAdmin 完整路径泄露漏洞3
    程序员必知的 七 种软件架构模式!
    【扩展知识】数据结构之动态内存管理机制!
    新年新气象,拼多多退出春晚红包合作,由抖音补位!
    【新年第一个程序】三子棋小游戏(C语言数组实现)
    编程开发中你必须了解的内存知识!从分配到使用直至出现Bug!
    C语言小写转大写,小写字母转换成大写字母!
  • 原文地址:https://www.cnblogs.com/tiansan/p/7338287.html
Copyright © 2011-2022 走看看