[java]代码库import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import java.awt.Graphics;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import java.awt.*;public class DengLu extends JFrame{ private JFrame jf; //学号的JPanel Font font1 = new Font("songti",Font.BOLD,20); Font font2 = new Font("songti",Font.BOLD,15); private JLabel lUserId=new JLabel("账 号:"); private JTextField tUserId=new JTextField(10);//密码的JPanel private JLabel lpassword=new JLabel("密 码:"); private JPasswordField tpassword=new JPasswordField(10);//身份的JPanel private JRadioButton student,teacher,administrator;//定义学生,老师,管理员单选按钮 private ButtonGroup group;//定义存放单选按钮的组 private JPanel positionPanel=new JPanel();//验证码的JPanel private JLabel yzm1=new JLabel("验证码:"); private JTextField yzm=new JTextField("666"); private JButton an=new JButton("看不懂,换一张"); private JLabel yzm2=new JLabel("输入验证码:"); private JTextField mm=new JTextField(10);//按钮的JPanel private JButton bLogin=new JButton("登录"); private JButton register=new JButton("注册"); private JButton bCancel=new JButton("返回"); //设置运行时窗口的大小 Dimension faceSize=new Dimension(300,210);//获得屏幕的大小 Dimension screenSize=Toolkit.getDefaultToolkit ().getScreenSize(); public DengLu(){//设置JFrame的名称 setTitle("基于TCP/IP协议的QQ聊天系统"); //定义学生,老师,管理员 student=new JRadioButton("学生"); student.setFont(font2); teacher=new JRadioButton("教师"); teacher.setFont(font2); administrator=new JRadioButton("管理员"); administrator.setFont(font2); group=new ButtonGroup(); group.add(student); group.add(teacher); group.add(administrator); getContentPane().setLayout(new BorderLayout(0, 0)); JPanel panel = new ImagePanel(); getContentPane().add(panel); panel.setLayout(null);// 昵称 lUserId.setFont(font1);panel.add(lUserId);lUserId.setBounds(30, 30, 100, 30);panel.add(tUserId);tUserId.setBounds(150, 30, 100, 30);//密码lpassword.setFont(font1);panel.add(lpassword);lpassword.setBounds(30, 80, 100, 30);panel.add(tpassword);tpassword.setBounds(150, 80, 100, 30);//按钮panel.add(bLogin);bLogin.setBounds(15, 140, 90, 30);panel.add(register);register.setBounds(105, 140, 90, 30);panel.add(bCancel);bCancel.setBounds(195, 140, 90, 30);//登录按钮的监听器 bLogin.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ String userId=tUserId.getText(); String password=String.valueOf(tpassword.getPassword()); String a=mm.getText(); String b=yzm.getText();//开启数据接收的线程 // if(a.equals(b)){ if(userId.trim().equals("")||userId==null||password.trim().equals("")||password==null){ JOptionPane.showMessageDialog(jf,"用户名或密码不能为空!","提示",JOptionPane.WARNING_MESSAGE); }else{ if(userId.equals("xcy")&&password.equals("123456")){ JOptionPane.showMessageDialog(jf,"登录成功!","提示",JOptionPane.WARNING_MESSAGE); //new ZhuCeJieMian().init(); jf.setVisible(false); }else{ loginFailure(); } } } });//注册 register.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ new ZhuCe(); jf.setVisible(false); } });//返回按钮的监听器 bCancel.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ //System.exit(0); // tUserId.setText(""); // tpassword.setText(""); new CaiDan(); } }); Toolkit tk=Toolkit.getDefaultToolkit(); Image image=tk.getImage("2.jpg");setIconImage(image); pack();//设置JFame运行的大小 setSize(faceSize);//设置JFrame运行时的位置 setLocation((int) (screenSize.width-faceSize.getWidth())/2,(int) (screenSize.height-faceSize.getHeight())/2);//设置JFrame不可最大化 setResizable(false);//设置JFrame单击X时结束程序 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置JFrame可见 setVisible(true); } public void loginFailure(){ JOptionPane.showMessageDialog(jf,"用户名或密码输入不正确!","提示",JOptionPane.WARNING_MESSAGE); }class ImagePanel extends JPanel {protected void paintComponent(Graphics g) {super.paintComponent(g);ImageIcon icon = new ImageIcon("3.jpg"); Color c = new Color(0,0,25);bLogin.setOpaque(false);//设置透明背影 bLogin.setBackground(c); register.setOpaque(false);//设置透明背影register.setBackground(c);bCancel.setOpaque(false);//设置透明背影bCancel.setBackground(c); tUserId.setOpaque(false);//设置透明背影tUserId.setBackground(c); tpassword.setOpaque(false);//设置透明背影tpassword.setBackground(c);if(icon.getImage()!=null){int width=getWidth();int height=getHeight();g.drawImage(icon.getImage(), 0, 0, width,height,this);}}} public static void main(String[] args)throws Exception{ new DengLu(); }}
[代码运行效果截图]