求大神帮我该下图书馆登录界面,照着书打的,但有错误
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("");
}
}
}