基于javasql的企业进销存管理系统的研究与开发内容摘要:

nvarchar 100 是 邮政编码 nchar 6 是 电话 numeric 9 是 传真 int 9 是 联系人 nvarchar 30 是 联系人电话 numeric 9 是 开户银行 nvarchar 100 是 银行帐号 numeric 13 是 企业网址 nvarchar 50 是 表 211 客户信息表 基于 java+sql 的企业进销存管理系统的设计与实现 14 第 3 章 主要模块详细设计 登录界 面必须有输入用户名和密码的文本框、负责登录和退出的按钮,另外考虑到美观性,登录模块创建了带背景的面板容器来美化登录界面。 进销存管理系统中的登录界面如 图 31 所示。 图 31 登录界面 下面介绍登录界面的开发步骤。 ( 1)创建 LoginPanel 类,该类继承 JPanel 类并覆盖该类的 paintComponent()方法,重新绘制自己的外观,实现带背景图片的面板容器。 关键代码如下: src\\lzw\ 关键代码: public class LoginPanel extends JPanel { protected ImageIcon icon = new ImageIcon(res/)。 public int width = (), height = ()。 public LoginPanel() { super()。 setSize(width, height)。 } protected void paintComponent(Graphics g) { (g)。 Image img = ()。 (img, 0, 0, getParent())。 } } ( 2)创建 Login 类,该类继承 JFrame 类实现一个窗口界面,并且将步骤( 1)所创建的面板容器添加到窗口中,然后初始化窗口中的各个组件大小、位置、窗口标题等基本属性。 关键代码如下: 基于 java+sql 的企业进销存管理系统的设计与实现 15 src\\lzw\ 关键代码: public class Login extends JFrame { private JLabel userLabel。 private JLabel passLabel。 private JButton exit。 private JButton login。 private Main window。 private static TbUserlist user。 //将当前用户对象定义为类属性 public Login() { setIconImage(new ImageIcon(res/).getImage())。 setTitle(登录企业进销存管理系统 )。 final JPanel panel = new LoginPanel()。 (null)。 getContentPane().add(panel)。 setBounds(300, 200, (), ())。 userLabel = new JLabel()。 (用户名: )。 (100, 110, 200, 18)。 (userLabel)。 final JTextField userName = new JTextField()。 (150, 110, 200, 18)。 (userName)。 passLabel = new JLabel()。 (密 码: )。 (100, 140, 200, 18)。 (passLabel)。 在输入密码的文本框中添加一个按键监听器,如果用户在密码框中按下回车键,该按键监听器将拦截该按键事件,并执行“登录”按钮的单击事件去完成系统登录。 final JPasswordField userPassword = new JPasswordField()。 (new KeyAdapter() { public void keyPressed(final KeyEvent e) { if (() == 10) ()。 } })。 (150, 140, 200, 18)。 (userPassword)。 为“登录”按钮添加动作监听器,当用户单击该按钮或者在按钮上按下回车键时,监听器将拦截该事件并执行 actionPerformed()方法,在该方法中通过调用Dao 数据库操作类的 getUser()方法获取用户信息,并完成用户验证和主窗体显示。 login = new JButton()。 (new ActionListener() { 基于 java+sql 的企业进销存管理系统的设计与实现 16 public void actionPerformed(final ActionEvent e) { user = ((), userPassword. getText ())。 if (() == null || () == null) { (null)。 (null)。 return。 } setVisible(false)。 window = new Main()。 (true)。 } })。 (登录 )。 (180, 170, 60, 18)。 (login)。 在用户单击“退出”按钮时,该按钮的监听器会执行 (0)命令去终止整个 Java 虚拟机,从而关闭进销存管理系统。 exit = new JButton()。 (new ActionListener() { public void actionPerformed(final ActionEvent e) { (0)。 } })。 (退出 )。 (260, 170, 60, 18)。 (exit)。 setVisible(true)。 setResizable(false)。 setDefaultCloseOperation()。 } 编写封装和访问当前用户对象的方法,并且将这些方法声明为类的静态方法,这样其他窗口对象可以随时获取当前登录的用户信息。 public static TbUserlist getUser() { return user。 } public static void setUser(TbUserlist user) { = user。 } } 基于 java+sql 的企业进销存管理系统的设计与实现 17 主窗口界面包括菜单栏、工具栏、窗口界面。 其中每个菜单对应着系统的各个功能模块。 进销存管理系统程序主界面的运行效果如 图 32 所示。 图 32 主窗口界面 程序主界面的开发首先要创建 Main 类,在类中定义各个基本组件(包括标签、窗体、文本框等)、窗体的集合对象、动作集合对象和当前登录的用户对象,然后调用 initialize()方法初始化窗口和所有基本组件,并调用登录窗口启动并运行程序。 关键代码如下: public class Main { private JDesktopPane desktopPane。 private JMenuBar menuBar。 protected JFrame frame。 private JLabel backLabel。 // 创建窗体的 Map类型集合对象 private MapString, JInternalFrame ifs = new HashMapString, JInternalFrame()。 // 创建 Action动作的 ActionMap类型集合对象 private ActionMap actionMap = new ActionMap()。 // 创建并获取当前登录的用户对象 private TbUserlist user = ()。 public Main() { // 初始化菜单的字体 Font font = new Font(宋体 , , 14)。 (, font)。 (, font)。 基于 java+sql 的企业进销存管理系统的设计与实现 18 // 调用 initialize()方法初始化菜单、工具栏、窗体 initialize()。 } public static void main(String[] args) { (new Runnable() { public void run() { new Login()。 } })。 } } 初始化程序主界面的 initialize()方法 该方法主要实现进销存管理系统主界面的初始化,初始化的界面组件包括:菜单、工具栏、窗体以及它们的布局管理等。 窗体的初始化包括窗体标题、图标、布 private void initialize() { 局管理器、窗体的关闭方式、位置、大小等属性和窗体事件监听器。 其中窗体的 ComponentListener 事件监听器在用户改变窗体大小时改变背景图片的大小,背景图片是本实例提供的 800 600 和 1024 768 两种大小的背景图片。 菜单栏中分别由不同的方法创建各个模块的菜单和菜单项。 工具栏由 defineToolBar()方法添加工具按钮。 initialize()方法的关键代码如下: frame = new JFrame(企业进销存管理系统 )。 (new ComponentAdapter() { public void ponentResized(final ComponentEvent e) { if (backLabel != null) { int backw = ((JFrame) ()).getWidth()。 ImageIcon icon = backw = 800 ? new ImageIcon( res/) : new ImageIcon(res/)。 (icon)。 (backw, ())。 } } })。 (new ImageIcon(res/).getImage())。 ().setLayout(new BorderLayout())。 (100, 100, 800, 600)。 //设置窗体位置和大小 ()。 //窗体的关闭方式 desktopPane = new JDesktopPane()。 ()。 // 白色背景 ().add(desktopPane)。 backLabel = new JLabel()。 ()。 ()。 (backLabel, new Integer())。 menuBar = new JMenuBar()。 (0, 0, 792, 66)。 (new LineBorder())。 基于 java+sql 的企业进销存管理系统的设计与实现 19 (menuBar)。 (getBasicMenu())。 // 添加基础信息菜单的方法 (getJinHuoMenu())。 // 添加进货管理菜单的方法 (get。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。