java学习基地

微信扫一扫 分享朋友圈

已有 448 人浏览分享

求大神帮我改对这个图形用户登录界面,让其可以单独运行

[复制链接]
448 0
package gui;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;

public class BookLoginIFrame extends JFrame {


                 public BookLoginIFrame(){
                 super();

                 final BorderLayout borderLayout = new BorderLayout();//创立规划办理器
                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//封闭按钮处置变乱
                 borderLayout.setVgap(10);//设置组件间垂曲间隔
                 getContentPane().setLayout(borderLayout);//利用规划办理器
                 setTitle("图书办理体系");//设置窗体题目
                 Toolkit tool = Toolkit.getDefaultToolkit();//得到默许东西箱
                 Dimension screenSize = tool.getScreenSize();//得到屏幕巨细
                 setSize(300,400);//设置窗体巨细
                 setLocation((screenSize.width-getWidth())/2, (screenSize.height-getHeight())/2);

                         final JPanel mainPanel = new JPanel();//创立主里板  
                                 mainPanel.setLayout(new BorderLayout());//设置边宽规划
                                mainPanel.setBorder(new EmptyBorder(0,0,0,0));//设置边框为0
                                getContentPane().add(mainPanel);//正在窗体中参加主里版

                                final JLabel imageLabel = new JLabel();//创立一个标签显现图片
                                ImageIcon loginIcon = CreatecdIcon.add("login.jpg");//创立一个图象吐   
                                imageLabel.setIcon(loginIcon);//设置图片
                                imageLabel.setOpaque(true);//设殖鲦造其鸿沟内一切像素
                                imageLabel.setBackground(Color.GREEN);//设置布景色彩
                                imageLabel.setPreferredSize(new Dimension(260,60));//设置标签巨细
                                mainPanel.add(imageLabel, BorderLayout.NORTH);//增加标签到主里板

                                final JPanel centerPanel = new JPanel();//创立中间里板
                                final GridLayout gridLayout = new GridLayout(20,20);//创立网格规划办理器
                                gridLayout.setHgap(5);//设置组件间仄止间隔
                                gridLayout.setVgap(20);//设置组件间垂曲间隔
                                centerPanel.setLayout(gridLayout);//利用规划办理器
                                mainPanel.add(centerPanel);//增加到主里板
                                final JLabel userNamelabel = new JLabel();//创立映雩名标签
                                userNamelabel.setHorizontalAlignment(SwingConstants.CENTER);//设置对齐方法
                                userNamelabel.setPreferredSize(new Dimension(0,0));//设置组件巨细
                                userNamelabel.setMinimumSize(new Dimension(0,0));//设置组件巨细的最小值
                                centerPanel.add(userNamelabel);//增加到中间里板
                                userNamelabel.setText("用 户 名:");//设置标签文本
                                JTextField usename = new JTextField(20);//创立映雩名文本框
                                usename.setPreferredSize(new Dimension(0,0));//设置组件巨细
                                centerPanel.add(usename);//增加到中间里板
                                final JLabel passwordLabel = new JLabel();//创立暗码标签
                                passwordLabel.setHorizontalAlignment(SwingConstants.CENTER);//设置对齐方法
                                centerPanel.add(passwordLabel);//增加到中间里板
                                passwordLabel.setText("稀 码:");//设置标签文本
                                JPasswordField password = new JPasswordField(20);//创立暗码框
                                password.setDocument(new MyDocument(6));//设置暗码少度为6
                                password.setEchoChar('*');//设置暗码框的回隐字符
                                password.addKeyListener(new KeyAdapter()//监听暗码框
                                {
                                    public void keyPressed(final KeyEvent e){//监听键盘单机变乱
                                        if (e.getKeyCode() == 10)//假如按了回车键
                                            login.doClick();    //停止登录
                                    }
                                });
                                centerPanel.add(password);//增加到中间里板

                                final JPanel southPanel = new JPanel();
                                mainPanel.add(southPanel, BorderLayout.SOUTH);
                                JButton login = new JButton();
                                login.addActionListener(new BookLoginAction());
                                login.setText("登 录");
                                southPanel.add(login);
                                JButton reset = new JButton();
                                reset.addActionListener(new BookResetAction());
                                reset.setText("重 置");
                                southPanel.add(reset);
                                setVisble(true);
                                setResizable(false);

                                abstract class BookLoginAction implements ActionListener{
                                public void actionPerformed(final ActionEvent e){
                                    user = Dao.check(usename.getText(),
                                            new String(password.getPassword()));
                                    if (user.getName() != null){
                                        try{
                                            Library frame = new Library();
                                            frame.setVisible(true);
                                            BookLoginIFrame.this.setVisible(false);
                                        }catch(Exception ex){
                                            ex.printStackTrace();
                                        }
                                    }else{
                                        JOptionPane.showMessageDialog(null,
                                                "请输进准确的映雩名战暗码!");//弹出提醒框
                                        usename.setText("");
                                        password.setText("");
                                    }
                                   }
                                }



                                abstract class BookResetAction implements ActionListener{
                                public void actionPerformed(final ActionEvent e){
                                    usename.setText("");
                                    password.setText("");
                                }

                 }
                        }

}


举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

关注

0

粉丝

129

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Archiver|手机版|java学习基地 |网站地图

GMT+8, 2021-6-23 07:18 , Processed in 0.610375 second(s), 63 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.