• (8)小项目--界面的代码


     Start.java

      就是输出点东西

     1 package edu.uc.ui.cli;
     2 
     3 import edu.uc.bean.Member;
     4 import edu.uc.service.MemberService;
     5 import edu.uc.service.impl.MemberServiceImpl;
     6 
     7 public class Start {
     8     public static void main(String []args) {
     9         MemberService memberService = new MemberServiceImpl();
    10         
    11         String name= "t1";
    12         Member bean = memberService.loadByName(name);
    13         
    14         System.out.println(bean.getUserId());
    15         System.out.println(bean.getUserName());
    16         System.out.println(bean.getUserPass());
    17         System.out.println(bean.getNickName());
    18         System.out.println(bean.getStatus());
    19     }
    20 }
    View Code

    StartList.java

      数据库的数据都输出来

     1 package edu.uc.ui.cli;
     2 
     3 import java.util.*;
     4 
     5 import edu.uc.bean.Member;
     6 import edu.uc.service.MemberService;
     7 import edu.uc.service.impl.MemberServiceImpl;
     8 
     9 public class StartList {
    10     public static void main(String []args) {
    11         MemberService memberService = new MemberServiceImpl();
    12         
    13         String name= "t1";
    14         List<Member> list= memberService.list();
    15         
    16         for(Member bean:list) {
    17         System.out.println(bean.getUserId()+"	"+bean.getUserName()+"	"+bean.getUserPass()+"	"+bean.getNickName()+"	"+bean.getNickName()+"	");
    18         //System.out.println(bean.getUserName()+"	");
    19         //System.out.println(bean.getUserPass()+"	");
    20         //System.out.println(bean.getNickName()+"	");
    21         //System.out.println(bean.getNickName()+"	");
    22     }
    23     }
    24 }
    View Code

    StartListByName.java

      通过名字输出数据

     1 package edu.uc.ui.cli;
     2 
     3 import java.util.List;
     4 
     5 import edu.uc.bean.Member;
     6 import edu.uc.service.MemberService;
     7 import edu.uc.service.impl.MemberServiceImpl;
     8 
     9 public class StartListByName {
    10     
    11     public static void main(String[] args) {
    12         
    13         MemberService memberService = new MemberServiceImpl();
    14         
    15         String name = "t";
    16         List<Member> list = memberService.listByName(name);
    17         
    18         for(Member bean : list) {
    19             System.out.print(bean.getUserId()+"	");
    20             System.out.print(bean.getUserName()+"	");
    21             System.out.print(bean.getUserPass()+"	");
    22             System.out.print(bean.getNickName()+"	");
    23             System.out.println(bean.getStatus());
    24         }
    25         
    26         
    27         
    28     }
    29 
    30 }
    View Code

     上面的是界面:我就不解释了,直接给代码(按照顺序的):

    package edu.uc.ui.win;
    
    import java.awt.Color;
    import java.awt.event.ActionEvent;
    import java.awt.event.WindowEvent;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.swing.*;
    
    import com.liuvei.common.SysFun;
    import com.liuvei.common.win.AFrame;
    import com.liuvei.common.win.IdText;
    import com.liuvei.common.win.IdTextModel;
    
    import edu.uc.bean.Member;
    import edu.uc.service.MemberService;
    import edu.uc.service.impl.MemberServiceImpl;
    
    public class LoginFrm  extends AFrame{
        
         public LoginFrm() {
             init();
         }
    
        
         
         private JLabel lblLoginName;
         private JLabel lblLoginPwd;
         private JLabel lblLoginType;
         
         
         private JTextField txtLoginName;
         private JPasswordField txtLoginPwd;
         private JComboBox<IdText> cboLoginType;
         
         
         private JButton btnLogin;
         private JButton btnClose;
         
         
         private JLabel lblMsg;
         //上面是看界面需要什么。你就创建上面变量
         
         
         
        @Override
        protected void initComponent() {
            // TODO Auto-generated method stub
            this.moveCenter();//
            this.setTitle("管理员登录");
            
            lblLoginName = new JLabel();
            lblLoginName.setText("账号:");
            lblLoginName.setBounds(80, 50,50, 30);
            container.add(lblLoginName);
            
            lblLoginPwd = new JLabel();
            lblLoginPwd.setText("密码:");
            lblLoginPwd.setBounds(80, 90,50, 30);
            container.add(lblLoginPwd);
            
            lblLoginType = new JLabel();
            lblLoginType.setText("类型:");
            lblLoginType.setBounds(80, 130,50, 30);
            container.add(lblLoginType);
            
            
            txtLoginName = new JTextField();
            txtLoginName.setBounds(150, 50, 160, 30);
            txtLoginPwd = new JPasswordField();
            txtLoginPwd.setBounds(150, 90, 160, 30);
            cboLoginType = new JComboBox<IdText>();
            cboLoginType.setBounds(150, 130, 160, 30);
            container.add(txtLoginName);
            container.add(txtLoginPwd);
            container.add(cboLoginType);
            
            
             btnLogin = new JButton();
             btnClose = new JButton();
             btnLogin.setText("登录");
             btnClose.setText("退出");
             
             btnLogin.setBounds(100, 200, 80, 40);
             btnClose.setBounds(200, 200, 80, 40);
             
             container.add(btnLogin);
             container.add(btnClose);
            
             
             lblMsg = new JLabel();
             lblMsg.setForeground(Color.RED);
             //lblMsg.setText("提示:xxxxxxx.");
             lblMsg.setBounds(90, 160, 160, 30);
             container.add(lblMsg);
             
             
             
        }
    
        @Override
        protected void initEvent() {
            // TODO Auto-generated method stub
            btnLogin.addActionListener(event ->{
                btnLogin_click(event);
            });    
            
            btnClose.addActionListener(event->{
                btnClose_click(event);
            });
            
        }
    
        
    
        private void btnLogin_click(ActionEvent event) {
            // TODO Auto-generated method stub
            //lblMsg.setText("点击了登录按钮。");
            lblMsg.setText("");
            
            String vLoginName = txtLoginName.getText().trim();
            String vLoginPwd = txtLoginPwd.getText().trim();
            Long vLoginType = 0L;
            
            IdText item = (IdText)cboLoginType.getModel().getSelectedItem();
            if(item!= null) {
                vLoginType = item.getId();
            }
            if(SysFun.isNullOrEmpty(vLoginName)) {
                lblMsg.setText("提示:请输入账号。");
                return;
            }
            if(SysFun.isNullOrEmpty(vLoginPwd)) {
                lblMsg.setText("提示:请输入密码。");
                return;
            }
            
            
            MemberService memberService =new MemberServiceImpl();
     
                Member bean = memberService.loadByName(vLoginName);
                
                if(bean==null) {
                    lblMsg.setText("提示:账号不存在");
                    return;
                }
                if(!vLoginPwd.equals(bean.getUserPass())) {
                    lblMsg.setText("提示:密码错误");
                    return;
                }
                
                
                //如果是管理员,则显示管理员主窗体
                if(vLoginType == 0) {
                    if("".equals(bean.getStatus())) {
                        //lblMsg.setText("提示:显示管理员主窗体。");
                        edu.uc.ui.win.manager.MainFrm mainFrm = new edu.uc.ui.win.manager.MainFrm();
                        mainFrm.setVisible(true);
                        mainFrm.loginName =vLoginName;
                        mainFrm.loginFrm = this;
                        mainFrm.showLoginName();
                        this.setVisible(false);
                        txtLoginName.setText("");
                        txtLoginPwd.setText("");
                        return;
                    }
                
                    lblMsg.setText("提示:登录出错。");
            }
            
            
            
        }
        
        
        private void btnClose_click(ActionEvent event) {
            // TODO Auto-generated method stub
            //lblMsg.setText("点击了退出按钮。");
            lblMsg.setText("");
            
            exit();
        }
    
        @Override
        protected void initLoad() {
            // TODO Auto-generated method stub
            showLoginType();
        }
    
        private void showLoginType() {
            List<IdText> list = new ArrayList<IdText>();
            list.add(new IdText(0L,"管理员"));
            list.add(new IdText(1L,"教师"));
            list.add(new IdText(2L,"学生"));
            
            //设置JComboBox对象的数据源
            cboLoginType.setModel(new IdTextModel(list));
            //设置JComboBox的数据源的当前选中的项目
            cboLoginType.getModel().setSelectedItem(new IdText(0L));
        }
        @Override
        protected void window_closing(WindowEvent arg0) {
            // TODO Auto-generated method stub
            exit();
        }
        
    }
     1 package edu.uc.ui.win;
     2 
     3 import javax.swing.JFrame;
     4 
     5 public class StartWin {
     6 
     7     public static void main(String[] args) {
     8         
     9         JFrame frm = null;
    10         frm = new LoginFrm();
    11         //frm = new edu.uc.ui.win.manager.MainFrm();
    12         
    13         frm.setVisible(true);
    14         
    15     }
    16 }
    View Code
     1 package edu.uc.ui.win.manager;
     2 
     3 import java.awt.event.WindowEvent;
     4 
     5 import com.liuvei.common.win.AFrame;
     6 
     7 public class AboutFrm extends AFrame{
     8 
     9     public AboutFrm() {
    10         this.init();
    11     }
    12     
    13     @Override
    14     protected void initComponent() {
    15         // TODO Auto-generated method stub
    16         this.setTitle("关于");
    17     }
    18 
    19     @Override
    20     protected void initEvent() {
    21         // TODO Auto-generated method stub
    22         
    23     }
    24 
    25     @Override
    26     protected void initLoad() {
    27         // TODO Auto-generated method stub
    28         
    29     }
    30 
    31     @Override
    32     protected void window_closing(WindowEvent arg0) {
    33         // TODO Auto-generated method stub
    34         close();
    35     }
    36 
    37 }
    View Code
    package edu.uc.ui.win.manager;
    
    import java.awt.event.ActionEvent;
    import java.awt.event.WindowEvent;
    
    import javax.swing.JFrame;
    import javax.swing.JMenuItem;
    
    import com.liuvei.common.SysFun;
    import com.liuvei.common.win.AFrame;
    import com.liuvei.common.win.AFrameMain;
    import com.liuvei.common.win.InnerFactory;
    
    public class MainFrm  extends AFrameMain{
    
        public MainFrm() {
            init();
        }
        public String loginName;
        public void showLoginName() {
            if(!SysFun.isNullOrEmpty(this.loginName)) {
                String title = this.getTitle();
                title +="-【"+loginName+"】";
                this.setTitle(title);
            }
        }
        
        private JMenuItem itemA1;
        private JMenuItem itemA2;
        private JMenuItem itemB1;
        private JMenuItem itemB2;
        private JMenuItem itemB3;
        private JMenuItem itemC1;
        private JMenuItem itemC2;
        private JMenuItem itemC3;
        private JMenuItem itemZ1;
        private JMenuItem itemZ2;
        
        @Override
        protected void initComponent() {
            // TODO Auto-generated method stub
            this.setTitle("后台管理-学生信息管理系统");
            itemA1 = new JMenuItem();
            itemA1.setText("注销");
            menuA.add(itemA1);
            
            itemA2 = new JMenuItem();
            itemA2.setText("退出");
            menuA.add(itemA2);
            
            itemB1 = new JMenuItem();
            itemB1.setText("账号管理");
            menuB.add(itemB1);
            
            itemB2 = new JMenuItem();
            itemB2.setText("基础管理2");
            menuB.add(itemB2);
            
            itemB3 = new JMenuItem();
            itemB3.setText("基础管理3");
            menuB.add(itemB3);
            
            itemC1 = new JMenuItem();
            itemC1.setText("高级管理1");
            menuC.add(itemC1);
            
            itemC2 = new JMenuItem();
            itemC2.setText("高级管理2");
            menuC.add(itemC2);
            
            itemC3 = new JMenuItem();
            itemC3.setText("高级管理3");
            menuC.add(itemC3);
            
            itemZ1 = new JMenuItem();
            itemZ1.setText("帮助");
            menuZ.add(itemZ1);
            
            itemZ2 = new JMenuItem();
            itemZ2.setText("关于");
            menuZ.add(itemZ2);
        }
    
        @Override
        protected void initEvent() {
            // TODO Auto-generated method stub
            
        }
    
        @Override
        protected void initLoad() {
            // TODO Auto-generated method stub
            itemZ1.addActionListener(event ->{
                itemZ1_click(event);
            });
            
            itemZ2.addActionListener(event ->{
                itemZ2_click(event);
            });
            
            itemA1.addActionListener(event ->{
                itemA1_click(event);
            });
            itemA2.addActionListener(event ->{
                itemA2_click(event);
            });
            itemB1.addActionListener(event ->{
                itemB1_click(event);
            });
        }
        
        
        public JFrame loginFrm = null;
        private void itemA1_click(ActionEvent event) {
            // TODO Auto-generated method stub
            if(loginFrm != null) {
                loginFrm.setVisible(true);
                this.close();
            }
        }
        
        private void itemA2_click(ActionEvent event) {
            // TODO Auto-generated method stub
            exit();
        }
        public String modelName = "member";
        private void itemB1_click(ActionEvent event) {
            // TODO Auto-generated method stub
                    String vKeySuffix = modelName;
                    String vClassFullName = MemberListFrm.class.getName();
                    String vKey = vClassFullName+":"+vKeySuffix+"";
                    String vTitle = "用户管理"+"";
                    
                    InnerFactory.generalInner(modelName, vKey, vTitle, vClassFullName, MainFrm.this);
        }
        private void itemZ1_click(ActionEvent event) {
            // TODO Auto-generated method stub
            //this.setTitle("你点击了帮助菜单项");
        }
    
        private void itemZ2_click(ActionEvent event) {
            // TODO Auto-generated method stub
            //this.setTitle("你点击了关于菜单项");
            AboutFrm  aboutFrm = new AboutFrm();
            aboutFrm.setVisible(true);
            
        }
        @Override
        protected void window_closing(WindowEvent arg0) {
            // TODO Auto-generated method stub
            exit();
        }
    
    }
    View Code
    package edu.uc.ui.win.manager;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.swing.JComboBox;
    import javax.swing.JPasswordField;
    
    import com.liuvei.common.SysFun;
    import com.liuvei.common.win.AInnerEdit;
    
    import com.liuvei.common.win.KeyText;
    import com.liuvei.common.win.KeyTextModel;
    
    import edu.uc.bean.Member;
    import edu.uc.service.MemberService;
    import edu.uc.service.impl.MemberServiceImpl;
    
    public class MemberInsertFrm  extends AInnerEdit{
        public MemberInsertFrm() {
            initFrm();
        }
        
        public void initFrm() {
            editComponent();
            editEvent();
            editLoad();
        }
        
        
        
        public void editComponent() {
            this.lblMsg.setText("提示:实现账号的添加。");
            
            this.lblTitle00.setText("账 号:");
            this.lblTitle00.setBounds(230, 30, 80, 30);
            pnlBody.add(lblTitle00);
            this.txtText00.setBounds(320, 30, 150, 30);
            pnlBody.add(txtText00);
            
            this.lblTitle01.setText("密 码:");
            this.lblTitle01.setBounds(230, 70, 80, 30);
            pnlBody.add(lblTitle01);
            txtPwd = new JPasswordField();
            this.txtPwd.setBounds(320, 70, 150, 30);
            pnlBody.add(txtPwd);
            
            this.lblTitle02.setText("确认密码:");
            this.lblTitle02.setBounds(230, 110, 80, 30);
            pnlBody.add(lblTitle02);
            txtPwd2 = new JPasswordField();
            this.txtPwd2.setBounds(320, 110, 150, 30);
            pnlBody.add(txtPwd2);
            
            this.lblTitle03.setText("昵 称:");
            this.lblTitle03.setBounds(230, 150, 80, 30);
            pnlBody.add(lblTitle03);
            this.txtText03.setBounds(320, 150, 150, 30);
            pnlBody.add(txtText03);
            
            this.lblTitle04.setText("邮 箱:");
            this.lblTitle04.setBounds(230, 190, 80, 30);
            pnlBody.add(lblTitle04);
            this.txtText04.setBounds(320, 190, 150, 30);
            pnlBody.add(txtText04);
            
            this.lblTitle05.setText("用户类型:");
            this.lblTitle05.setBounds(230, 230, 80, 30);
            pnlBody.add(lblTitle05);
            cboUserType = new JComboBox<KeyText>();
            this.cboUserType.setBounds(320, 230, 150, 30);
            pnlBody.add(cboUserType);
        }
        
        
        
        public void editEvent() {
            
        }
        
        public void editLoad() {
            showUserType();
        }
    
        @Override
        public void cancel_oper() {
            // TODO Auto-generated method stub
            this.dispose();
        }
    
        @Override
        public void clear_oper() {
            // TODO Auto-generated method stub
            this.lblMsg.setText("提示:实现账号的添加。"); 
            this.txtText00.setText("");
            this.txtPwd.setText("");
            this.txtPwd2.setText("");
            this.txtText03.setText("");
            this.txtText04.setText("");
            this.txtText00.setText("");
            cboUserType.getModel().setSelectedItem(new KeyText("","管理员"));
            
        }
    
        @Override
        public void confirm_oper() {
            // TODO Auto-generated method stub
            this.lblMsg.setText("");
            
            //0.获取表用户输入数据
            String userName = this.txtText00.getText();
            String userPass = this.txtPwd.getText();
            String userPass2 = this.txtPwd2.getText();
            
            String nickName = this.txtText03.getText();
            String email = this.txtText04.getText();
            
            KeyText item = (KeyText) cboUserType.getModel().getSelectedItem();
            String userType = item.getKey();
            
            //1.为空性判断
            String msg = "";
            if(SysFun.isNullOrEmpty(userName)) {
                msg = "提示:"+"账号不能为空。";
                this.lblMsg.setText(msg);
                return;
            }
            
            if(SysFun.isNullOrEmpty(userPass)) {
                msg = "提示:"+"密码不能为空。";
                this.lblMsg.setText(msg);
                return;
            }
            
            if(SysFun.isNullOrEmpty(userPass2)) {
                msg = "提示:"+"确认密码不能为空。";
                this.lblMsg.setText(msg);
                return;
            }
            
            if(SysFun.isNullOrEmpty(nickName)) {
                msg = "提示:"+"昵称不能为空。";
                this.lblMsg.setText(msg);
                return;
            }
            
            if(SysFun.isNullOrEmpty(email)) {
                msg = "提示:"+"邮箱不能为空。";
                this.lblMsg.setText(msg);
                return;
            }
            
            if(!userPass.equals(userPass2)) {
                msg = "提示:"+"两次密码不一致。";
                this.lblMsg.setText(msg);
                return;
            }
            MemberService memberService = new MemberServiceImpl();
            //3.业务判断:判断账号是否已存在。
            Member existsItem =  memberService.loadByName(userName);
            if(existsItem!=null) {
                msg = "提示:"+"账号已存在,请重新设置。";
                this.lblMsg.setText(msg);
                return;
            }
            
            
            
            
            
            
            //7.准备添加到数据库
            
            Member bean = new Member();
            bean.setUserName(userName);
            bean.setUserPass(userPass);
            bean.setEmail(email);
            bean.setNickName(nickName);
            bean.setStatus(userType);
            
            bean.setCreateBy(1L);
            bean.setCreateOn(new java.util.Date());
            bean.setUpdateBy(1L);
            bean.setUpdateOn(new java.util.Date());
            
            
            //8.真正的添加
            Long result = 0L;
            
            try {
                result = memberService.insert(bean);
                msg = "操作成功";
            }catch(Exception ex) {
                msg = "操作失败。原因:"+ex.getMessage();
            }
            this.lblMsg.setText(msg);
            if(result>0L) {
                msg = "提示:添加成功";
            if(null != memberListFrm) {
                memberListFrm.search_oper();
            }
            this.dispose();    
        }
        }
    public MemberListFrm memberListFrm = null;
        private JPasswordField txtPwd;
        private JPasswordField txtPwd2;
        private JComboBox<KeyText> cboUserType;
        private void showUserType() {
            List<KeyText> list = new ArrayList<KeyText>();
            list.add(new KeyText("", "管理员"));
            list.add(new KeyText("Teacher", "教师 "));
            list.add(new KeyText("Student", "学生 "));
    
            //设置JComboBox对象的数据源
            cboUserType.setModel(new KeyTextModel(list));
            //设置JComboBox的数据源的当前选中的项目
            cboUserType.getModel().setSelectedItem(new KeyText(""));
        }
    }
    View Code
    package edu.uc.ui.win.manager;
    
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JMenuItem;
    import javax.swing.JOptionPane;
    import javax.swing.table.TableModel;
    
    import com.liuvei.common.FormatFun;
    import com.liuvei.common.SysFun;
    import com.liuvei.common.win.AInner;
    import com.liuvei.common.win.AInnerList;
    import com.liuvei.common.win.ATableModel;
    import com.liuvei.common.win.InnerFactory;
    
    import edu.uc.bean.Member;
    import edu.uc.service.MemberService;
    import edu.uc.service.impl.MemberServiceImpl;
    
    public class MemberListFrm extends AInnerList{
        
        public MemberListFrm() {
            initFrm();
        }
        
        public void initFrm() {
            editComponent();
            editEvent();
            editLoad();
            
            
        }
        protected JMenuItem changePwdMenuItem = null;
        @Override
        public void createContextMenu() {
            super.createContextMenu();
            
            changePwdMenuItem = new JMenuItem();
            changePwdMenuItem.setText("重置密码");
            changePwdMenuItem.setVisible(true);
            tblContextMenu.add(changePwdMenuItem);
            
            changePwdMenuItem.addActionListener(new ActionListener() {
    
                @Override
                public void actionPerformed(ActionEvent e) {
                    // TODO Auto-generated method stub
                    changePwdMenuItem_click(e);
                }
        
            });
            
        }
        
        public void changePwdMenuItem_click(ActionEvent e) {
                // TODO Auto-generated method stub
                Long pk = 0L;
                int index = this.tblObj.getSelectedRow();
                if(index !=-1) {
                    TableModel model = tblObj.getModel();
                    Object obj = model.getValueAt(index, 0);
                    
                    pk = Long.parseLong(""+obj);
                }
                MemberService memberService = new MemberServiceImpl();
                
                Member bean = memberService.load(pk);
                
                if(null != bean) {
    
                    
                    Long result =0L;
                    bean.setUserPass("123");//默认重置密码123
                    result = memberService.update(bean);
                    
                    if(result>0) {
                        JOptionPane.showConfirmDialog(null,"重置成功。","提示", JOptionPane.DEFAULT_OPTION);
                        search_oper();
                    }else {
                        JOptionPane.showConfirmDialog(null,"重置失败。","提示", JOptionPane.DEFAULT_OPTION);
                    }
                }
            }
        
        public void editComponent() {
            
    
        }
        
        public void editEvent() {
            
        }
        
        public void editLoad() {
            
        }
        
        
        
        
        
        
        @Override
        public void delete_oper(Object arg0) {
            // TODO Auto-generated method stub
            Long pk = 0L;
            int index = this.tblObj.getSelectedRow();
            if(index !=-1) {
                TableModel model = tblObj.getModel();
                Object obj = model.getValueAt(index, 0);
                
                pk = Long.parseLong(""+obj);
            }
            
            if(pk > 0) {
                MemberService memberService = new MemberServiceImpl();
                
                Long result =0L;
                result = memberService.delete(pk);
                
                if(result>0) {
                    JOptionPane.showConfirmDialog(null,"删除成功。","提示", JOptionPane.DEFAULT_OPTION);
                    search_oper();
                }else {
                    JOptionPane.showConfirmDialog(null,"删除失败。","提示", JOptionPane.DEFAULT_OPTION);
                }
            }
            
        }
        public String modelName = "member";
    
        @Override
        public void insert_oper() {
            // TODO Auto-generated method stub
            
            String vKeySuffix = modelName;
            String vClassFullName = MemberInsertFrm.class.getName();
            String vKey = vClassFullName+":"+vKeySuffix+"";
            String vTitle = "用户管理"+"-添加";
            
            InnerFactory.generalInner(modelName, vKey, vTitle, vClassFullName, mainFrm);
            
            
            //获取子窗体对象
            AInner inner = InnerFactory.getInner(modelName, vKey, InnerFactory.getDesktop(mainFrm));
            
            //子窗体转换后,传递主键,并加载数据
            MemberInsertFrm updateFrm = (MemberInsertFrm)inner;
            updateFrm.memberListFrm = this;
    
        }
    
        @Override
        public void other_oper(Object arg0) {
            // TODO Auto-generated method stub
            
        }
    
        @Override
        public void search_oper() {
            // TODO Auto-generated method stub
            String txtKeyWords = this.txtKeywords.getText().trim();
            //5.1初始化服务对象(可以作为属性)
            MemberService memberService = new MemberServiceImpl();
            //5.2从DB中取得List集合数据
            java.util.List<Member> list = null;
            if(SysFun.isNullOrEmpty(txtKeyWords)) {
                list = memberService.list();
            } else {
                list = memberService.listByName(txtKeyWords);
            }
            //5.3将List集合数据传给【实体类表格模型】
            ATableModel<Member> tableModel = null;
            tableModel = new ATableModel<Member>(list,6) {
    
                public String getTitle(int columnIndex) {
                    if(columnIndex==0) {
                        return "Id";//用户自定义
                    }else if(columnIndex == 1) {
                        return "用户名称";//用户自定义
                    }else if(columnIndex== 2) {
                        return "昵称";//用户自定义
                    }else if(columnIndex== 3) {
                        return "Email";//用户自定义
                    }else if(columnIndex== 4) {
                        return "状态";//用户自定义
                    }else if(columnIndex== 5) {
                        return "创建时间";//用户自定义
                    }
                    return "无";
            }
                public Object getPropValue(Member bean,int columnIndex) {
                    Member item = (Member) bean;
                    if(columnIndex== 0) {
                        return item.getUserId();
                    }else if(columnIndex== 1) {
                        return item.getUserName();
                    }else if(columnIndex== 2) {
                        return item.getNickName();
                    }else if(columnIndex== 3) {
                        return item.getEmail();
                    }else if(columnIndex== 4) {
                        return item.getStatus();
                    }else if(columnIndex== 5) {
                        return FormatFun.format(item.getCreateOn(),FormatFun.FORMAT_DATETIME);
                    }
                return null;
                }
            };
            //5.4设置表格对象的数据模型
            this.tblObj.setModel(tableModel);
        }
        
        
        @Override
        public void update_oper(Object arg0) {
            // TODO Auto-generated method stub
            
            Long pk = 0L;
            int index = this.tblObj.getSelectedRow();
            if(index !=-1) {
                TableModel model = tblObj.getModel();
                Object obj = model.getValueAt(index, 0);
                
                pk = Long.parseLong(""+obj);
            }
            
            if(pk > 0) {
                String vKeySuffix = modelName;
                String vClassFullName = MemberUpdateFrm.class.getName();
                String vKey = vClassFullName+":"+vKeySuffix+""+pk;
                String vTitle = "用户管理"+"- 修改【pk="+pk+"】的记录";
                //生成子窗体
                InnerFactory.generalInner(modelName, vKey, vTitle, vClassFullName, mainFrm);
                
                //获取子窗体对象
                AInner inner = InnerFactory.getInner(modelName, vKey, InnerFactory.getDesktop(mainFrm));
                
                //子窗体转换后,传递主键,并加载数据
                MemberUpdateFrm updateFrm = (MemberUpdateFrm)inner;
                updateFrm.memberListFrm = this;
                updateFrm.pk = pk;
                updateFrm.loadData();
            }
                
        }
    
    }
    View Code
    package edu.uc.ui.win.manager;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.swing.JComboBox;
    import javax.swing.JPasswordField;
    
    import com.liuvei.common.SysFun;
    import com.liuvei.common.win.AInnerEdit;
    
    import com.liuvei.common.win.KeyText;
    import com.liuvei.common.win.KeyTextModel;
    
    import edu.uc.bean.Member;
    import edu.uc.service.MemberService;
    import edu.uc.service.impl.MemberServiceImpl;
    
    public class MemberUpdateFrm  extends AInnerEdit{
        
        public Long pk = 0L;
        
        public void loadData() {
            if(null!=pk && pk>0) {
                
                MemberService memberService = new MemberServiceImpl();
                Member bean = memberService.load(pk);
                if(null!=bean) {
                    txtText00.setText(bean.getUserName());
                    txtText03.setText(bean.getNickName());
                    txtText04.setText(bean.getEmail());
                    
                    cboUserType.getModel().setSelectedItem(new KeyText(bean.getStatus()));
                    cboUserType.repaint();
                }
    
            }
        }
        
        public MemberUpdateFrm() {
            initFrm();
        }
        
        public void initFrm() {
            editComponent();
            editEvent();
            editLoad();
            
            
        }
        
        
        
        public void editComponent() {
            this.lblMsg.setText("提示:实现账号的修改。");
            
            this.lblTitle00.setText("账 号:");
            this.lblTitle00.setBounds(230, 30, 80, 30);
            pnlBody.add(lblTitle00);
            this.txtText00.setBounds(320, 30, 150, 30);
            pnlBody.add(txtText00);
            
            this.lblTitle03.setText("昵 称:");
            this.lblTitle03.setBounds(230, 70, 80, 30);
            pnlBody.add(lblTitle03);
            this.txtText03.setBounds(320, 70, 150, 30);
            pnlBody.add(txtText03);
            
            this.lblTitle04.setText("邮 箱:");
            this.lblTitle04.setBounds(230, 110, 80, 30);
            pnlBody.add(lblTitle04);
            this.txtText04.setBounds(320, 110, 150, 30);
            pnlBody.add(txtText04);
            
            this.lblTitle05.setText("用户类型:");
            this.lblTitle05.setBounds(230, 150, 80, 30);
            pnlBody.add(lblTitle05);
            cboUserType = new JComboBox<KeyText>();
            this.cboUserType.setBounds(320, 150, 150, 30);
            pnlBody.add(cboUserType);
            
        }
        
        
        
        public void editEvent() {
            
        }
        
        public void editLoad() {
            showUserType();
        }
    
        @Override
        public void cancel_oper() {
            // TODO Auto-generated method stub
            this.dispose();
        }
    
        @Override
        public void clear_oper() {
            // TODO Auto-generated method stub
            this.lblMsg.setText("提示:实现账号的修改。"); 
    //        this.txtText00.setText("");
    //        this.txtText03.setText("");
    //        this.txtText04.setText("");
    //        this.txtText00.setText("");
    //        cboUserType.getModel().setSelectedItem(new KeyText("","管理员"));
            
            loadData();
        }
    
        @Override
        public void confirm_oper() {
            // TODO Auto-generated method stub
            this.lblMsg.setText("");
            
            //0.获取表用户输入数据
            String userName = this.txtText00.getText();
    
            
            String nickName = this.txtText03.getText();
            String email = this.txtText04.getText();
            
            KeyText item = (KeyText) cboUserType.getModel().getSelectedItem();
            String userType = item.getKey();
            
            //1.为空性判断
            String msg = "";
            if(SysFun.isNullOrEmpty(userName)) {
                msg = "提示:"+"账号不能为空。";
                this.lblMsg.setText(msg);
                return;
            }
            
            
            
            if(SysFun.isNullOrEmpty(nickName)) {
                msg = "提示:"+"昵称不能为空。";
                this.lblMsg.setText(msg);
                return;
            }
            
            if(SysFun.isNullOrEmpty(email)) {
                msg = "提示:"+"邮箱不能为空。";
                this.lblMsg.setText(msg);
                return;
            }
            
            
            MemberService memberService = new MemberServiceImpl();
            //3.业务判断:判断账号是否已存在。
            Member existsItem =  memberService.loadByName(userName);
            if(existsItem!=null && existsItem.getUserId()!=pk) {
                msg = "提示:"+"账号已存在,请重新设置。";
                this.lblMsg.setText(msg);
                return;
            }
            
            
            
            
            
            
            //7.准备修改到数据库
            
            Member bean = memberService.load(pk);
            bean.setUserName(userName);
    
            bean.setEmail(email);
            bean.setNickName(nickName);
            bean.setStatus(userType);
            
    
            bean.setUpdateBy(1L);
            bean.setUpdateOn(new java.util.Date());
            
            
            //8.真正的修改
            Long result = 0L;
            
            try {
                result = memberService.update(bean);
                msg = "操作成功";
            }catch(Exception ex) {
                msg = "操作失败。原因:"+ex.getMessage();
            }
            
            if(result>0L) {
                msg = "修改成功";
            }
            if(null != memberListFrm) {
                memberListFrm.search_oper();
            }
            this.dispose();    
        }
        
        public MemberListFrm memberListFrm = null;
        
    
        private JComboBox<KeyText> cboUserType;
        private void showUserType() {
            List<KeyText> list = new ArrayList<KeyText>();
            list.add(new KeyText("", "管理员"));
            list.add(new KeyText("Teacher", "教师 "));
            list.add(new KeyText("Student", "学生 "));
    
            //设置JComboBox对象的数据源
            cboUserType.setModel(new KeyTextModel(list));
            //设置JComboBox的数据源的当前选中的项目
            cboUserType.getModel().setSelectedItem(new KeyText(""));
        }
    }
    View Code

    界面其实现在用不到(理解)

    但是代码至少一遍,敲多了就慢慢了解,要查,要写博客,收获

    英语很重要,认真

    打基础,不要眼高手低

    (上面的都是对我自己说的)

      

    会当凌绝顶,一览众山小
  • 相关阅读:
    [Go] golang 两个数组 list 的合并方式
    [Go] assignment count mismatch 1 = 2
    [Go] golang 时间格式化 12小时制 与 24小时制
    [Go] freecache 设置 SetGCPercent 的作用
    [FAQ] Vue 如何控制标签元素的某个属性的显示 ?
    [FE] 实时视频流库 hls.js 重载切换资源的方式
    [FE] 关于网页的一些反爬手段的解析思路,比如 58 等
    [Go] 让 go build 生成的可执行文件对 Mac、linux、Windows 平台一致
    [Go] go build 减小二进制文件大小的几种方式
    [Go] gin-jwt 业务逻辑中使用实例化的 middleware 的方式
  • 原文地址:https://www.cnblogs.com/quenvpengyou/p/12872057.html
Copyright © 2020-2023  润新知