Java-地址本管理(分层思想)

VE(virtual edit)可视化编辑
Matisse Form使用:
一 :new 界面
1)new – Matisse Form(如果没有,用2))
2)new–Other–MyElipese–Swing– Matisse Form
二:必须有一个内容窗格(Application),往内容窗格内加面板(JPanel)
三:对面板格式的设置
1)点右键,会有设布局,一般选null空布局,在Add Form Palate–SwingControls会有添加各种组件,选中某一组件点右键可对组件进行(重命名,设文本,大小,添加监听等)操作
2)在Windows菜单中-show view–Matisse Palate–SwingControls可添加各种Swing组件
show view–Properties选中组件或者界面,在Properties中即可对其进行设置
四:组件可以被复制。注:原来的组件在上面,复制之后的组件在下面,使用组件的时候要把组件换一下

这里写图片描述

在内容窗格上添加listPanel(第一次运行),之后根据功能需要显示不同的面板,所以要把内容窗格this传给listPanel,并且每次换功能面板都要拿this

package cn.hncu.addr;

import cn.hncu.addr.ui.listPanel;

public class AddressApp extends javax.swing.JFrame {
   
   

    /** Creates new form AddressApp */
    public AddressApp() {
        this.setContentPane(new listPanel(this));//把this传给listPanel
        this.validate();//相当于刷新界面
        initComponents();//WARNING: Do NOT modify this code.The content of this method is always regenerated by the Form Editor.这里的代码不能修改,因为他每次都会根据Form Editor重新生成
    }
    /** 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.
     */
    //GEN-BEGIN:initComponents
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {
        menuBar = new javax.swing.JMenuBar();
        fileMenu = new javax.swing.JMenu();
        openMenuItem = new javax.swing.JMenuItem();
        saveMenuItem = new javax.swing.JMenuItem();
        saveAsMenuItem = new javax.swing.JMenuItem();
        exitMenuItem = new javax.swing.JMenuItem();
        editMenu = new javax.swing.JMenu();
        cutMenuItem = new javax.swing.JMenuItem();
        copyMenuItem = new javax.swing.JMenuItem();
        pasteMenuItem = new javax.swing.JMenuItem();
        deleteMenuItem = new javax.swing.JMenuItem();
        helpMenu = new javax.swing.JMenu();
        contentsMenuItem = new javax.swing.JMenuItem();
        aboutMenuItem = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setMinimumSize(new java.awt.Dimension(800, 600));
        getContentPane().setLayout(null);

        fileMenu.setText("File");

        openMenuItem.setText("Open");
        fileMenu.add(openMenuItem);

        saveMenuItem.setText("Save");
        fileMenu.add(saveMenuItem);

        saveAsMenuItem.setText("Save As ...");
        fileMenu.add(saveAsMenuItem);

        exitMenuItem.setText("Exit");
        exitMenuItem.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                exitMenuItemActionPerformed(evt);
            }
        });
        fileMenu.add(exitMenuItem);
        menuBar.add(fileMenu);
        editMenu.setText("Edit");
        cutMenuItem.setText("Cut");
        editMenu.add(cutMenuItem);
        copyMenuItem.setText("Copy");
        editMenu.add(copyMenuItem);
        pasteMenuItem.setText("Paste");
        editMenu.add(pasteMenuItem);
        deleteMenuItem.setText("Delete");
        editMenu.add(deleteMenuItem);
        menuBar.add(editMenu);
        helpMenu.setText("Help");
    contentsMenuItem.setText("Contents");
        helpMenu.add(contentsMenuItem);
        aboutMenuItem.setText("About");
        helpMenu.add(aboutMenuItem);
        menuBar.add(helpMenu);
        setJMenuBar(menuBar);
        pack();
    }// </editor-fold>
    //GEN-END:initComponents
    private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
  
  //GEN-FIRST:event_exitMenuItemActionPerformed
        System.exit(0);
    }//GEN-LAST:event_exitMenuItemActionPerformed

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new AddressApp().setVisible(true);
            }
        });
    }
    //GEN-BEGIN:variables
    // Variables declaration - do not modify
    private javax.swing.JMenuItem aboutMenuItem;
    private javax.swing.JMenuItem contentsMenuItem;
    private javax.swing.JMenuItem copyMenuItem;
    private javax.swing.JMenuItem cutMenuItem;
    private javax.swing.JMenuItem deleteMenuItem;
    private javax.swing.JMenu editMenu;
    private javax.swing.JMenuItem exitMenuItem;
    private javax.swing.JMenu fileMenu;
    private javax.swing.JMenu helpMenu;
    private javax.swing.JMenuBar menuBar;
    private javax.swing.JMenuItem openMenuItem;
    private javax.swing.JMenuItem pasteMenuItem;
    private javax.swing.JMenuItem saveAsMenuItem;
    private javax.swing.JMenuItem saveMenuItem;
    // End of variables declaration//GEN-END:variables
}

这里写图片描述
在面板添加list(显示每次操作的结果)
下面的各个按钮是选择功能块

package cn.hncu.addr.ui;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

import cn.hncu.addr.business.AddrBusiness;

public class listPanel extends javax.swing.JPanel {
   
   
    private static final long serialVersionUID = 1L;//序列化
    private JFrame mainFrame = null;

    /** Creates new form listPanel */
    public listPanel(JFrame mainFrame) {
        this.mainFrame = mainFrame;
        initComponents();
        myInitDate();
    }

    public listPanel(JFrame mainFrame, Object[] res) {
        this.mainFrame=mainFrame;
        initComponents();//对list初始化,如果存有数据则显示,否则不显示任何
        jListAddress.setListData(res);
    }
    private void myInitDate() {
        AddrBusiness aB = new AddrBusiness();
        Object obj[] = aB.getAll();
        jListAddress.setListData(obj);
    }

    //GEN-BEGIN:initComponents
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jLabel5 = new javax.swing.JLabel();
        btnToAdd = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jListAddress = new javax.swing.JList();
        btnToUpdate = new javax.swing.JButton();
        btnToQuery = new javax.swing.JButton();
        btnToDelete = new javax.swing.JButton();

        setBackground(new java.awt.Color(102, 255, 102));
        setMinimumSize(new java.awt.Dimension(800, 600));
        setLayout(null);

        jLabel5.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 48));
        jLabel5.setForeground(new java.awt.Color(255, 0, 51));
    jLabel5.setText("\u6211\u7684\u5730\u5740\u672c");
        add(jLabel5);
        jLabel5.setBounds(250, 60, 250, 60);
        btnToAdd.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 24));
    btnToAdd.setText("\u8f6c\u5230\u6dfb\u52a0");
        btnToAdd.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnToAddActionPerformed(evt);
            }
        });
        add(btnToAdd);
        btnToAdd.setBounds(50, 460, 130, 40);
        jListAddress.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 18));
        jListAddress.setForeground(new java.awt.Color(0, 153, 102));
        jListAddress.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "" };
            public int getSize() {
                return strings.length;
            }
            public Object getElementAt(int i) {
                return strings[i];
            }
        });
    jScrollPane1.setViewportView(jListAddress);
        add(jScrollPane1);
        jScrollPane1.setBounds(160, 140, 480, 280);
        btnToUpdate.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 24));
        btnToUpdate.setText("\u8f6c\u5230\u4fee\u6539");
        btnToUpdate.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnToUpdateActionPerformed(evt);
            }
        });
        add(btnToUpdate);
        btnToUpdate.setBounds(440, 460, 130, 40);
        btnToQuery.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 24));
        btnToQuery.setText("\u8f6c\u5230\u67e5\u8be2");
        btnToQuery.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnToQueryActionPerformed(evt);
            }
        });
        add(btnToQuery);
        btnToQuery.setBounds(620, 460, 130, 40);
        btnToDelete.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 24));
    btnToDelete.setText("\u8f6c\u5230\u5220\u9664");
        btnToDelete.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
            btnToDeleteActionPerformed(evt);
            }
        });
        add(btnToDelete);
        btnToDelete.setBounds(240, 460, 130, 40);
    }// </editor-fold>
    //GEN-END:initComponents
    private void btnToDeleteActionPerformed(java.awt.event.ActionEvent evt) {
  
  //选择删除功能
        String str=(String) jListAddress.getSelectedValue();
        if(str==null){
        JOptionPane.showMessageDialog(this, "请选择需要删除的数据。");
            return;
        }
        mainFrame.setContentPane(new DeletePanel(mainFrame,str));
        mainFrame.validate();
    }
    private void btnToQueryActionPerformed(java.awt.event.ActionEvent evt) {
  
  //选择查询功能
        mainFrame.setContentPane(new QueryPanel(mainFrame));
        mainFrame.validate();
    }

    private void btnToUpdateActionPerformed(java.awt.event.ActionEvent evt) {
  
  //选择修改功能
        String str=(String) jListAddress.getSelectedValue();
        if(str==null){
            JOptionPane.showMessageDialog(this, "请选择需要修改的数据。");
            return;
        }
        mainFrame.setContentPane(new UpdatePanel(mainFrame,str));
        mainFrame.validate();
    }

    private void btnToAddActionPerformed(java.awt.event.ActionEvent evt) {
  
  //选择添加功能
        mainFrame.setContentPane(new AddPanel(mainFrame));
        mainFrame.validate();
    }

    //GEN-BEGIN:variables
    // Variables declaration - do not modify
    private javax.swing.JButton btnToAdd;
    private javax.swing.JButton btnToDelete;
    private javax.swing.JButton btnToQuery;
    private javax.swing.JButton btnToUpdate;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JList jListAddress;
    private javax.swing.JScrollPane jScrollPane1;
    // End of variables declaration//GEN-END:variables

}

这里写图片描述
这一块和逻辑层有关。对信息进行增删改查

package cn.hncu.addr.ui;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

import cn.hncu.addr.business.AddrBusiness;

public class AddPanel extends javax.swing.JPanel {

    private JFrame mainFrame = null;

    /** Creates new form AddPanel */
    public AddPanel(JFrame mainFrame) {
        this.mainFrame = mainFrame;
        initComponents();
    }

    //GEN-BEGIN:initComponents
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        tfdName = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();
        tfdAge = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();
        tfdTel = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值