| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1945 人关注过本帖
标题:求大神帮我该下图书馆登录界面,照着书打的,但有错误
只看楼主 加入收藏
W18483638147
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-5-9
结帖率:0
收藏
 问题点数:0 回复次数:4 
求大神帮我该下图书馆登录界面,照着书打的,但有错误
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.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("用 户 名:");//设置标签文本
        username = new JTextField(20);//创建用户名文本框
        username.setPreferredSize(new Dimension(0,0));//设置组件大小
        centerPanel.add(username);//添加到中心面板
        final JLabel passwordLabel = new JLabel();//创建密码标签
        passwordLabel.setHorizontalAlignment(SwingConstants.CENTER);//设置对齐方式
        centerPanel.add(passwordLabel);//添加到中心面板
        passwordLabel.setText("密 码:");//设置标签文本
        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);
        login = new JButton();
        login.addActionListener(new BookLoginAction());
        login.setText("登 录");
        southPanel.add(login);
        reset = new JButton();
        reset.addActionListener(new BookResetAction());
        reset.setText("重 置");
        southPanel.add(reset);
        setVisble(true);
        setResizable(false);   
    }
    private class BookLoginAction implements ActionListener{
        public void actionPerformed(final ActionEvent e){
            user = Dao.check(username.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,
                        "请输入正确的用户名和密码!");//弹出提示框
                username.setText("");
                password.setText("");
            }
            }

    }
    abstract class BookLoginAction implements ActionListener{
        public void actionPerformed(final ActionEvent e){
            username.setText("");
            password.setText("");
        }
    }
}
搜索更多相关主题的帖子: package 图书馆 import 
2016-06-01 15:45
W18483638147
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-5-9
收藏
得分:0 
为什么username 和password 老是错的
2016-06-01 15:50
zzjvslove
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:46
专家分:197
注 册:2016-5-23
收藏
得分:0 
有1个函数体{}不全、有1处括号有多、有1外括号有少。
2016-06-01 16:42
zzjvslove
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:46
专家分:197
注 册:2016-5-23
收藏
得分:0 
username和 password要在 构造函数public BookLoginIFrame()的上方定义。因为是属于下面几个类共有的。
2016-06-01 16:45
机智羊
Rank: 1
等 级:新手上路
帖 子:5
专家分:4
注 册:2016-5-20
收藏
得分:0 
你的username和password是下面的类共同的使用,所以应该把这两个创建成类成员,并且用static修饰符来表示共享。
2016-06-06 00:01
快速回复:求大神帮我该下图书馆登录界面,照着书打的,但有错误
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013338 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved